a[2]开始都是未定义的部分,你相当于越界访问了,但是C对此不做限制,所以访问a[2]以后都会产生随机结果
‘0’是字符,其ASCII码才代表整型值,'0'的ASCII码是48,a[1]=7,所以相减是-41第二种a[2]-'0'是不可以的,因为a总共就2个元素,a[2]代表取第三个元素,就是越界访问获得了一个垃圾值而已第三种a[10]就更不靠谱了啊
int a[2]一共就2个元素,分别是a[0]和a[1],a[2]这么写就越界了,是一个随机的数
指针越界,你访问的是内存中一个随机数