1,x=x<<1相当于x乘以2即0.8,用%d格式串输出只能输出整数部分,也就是0
2,涉及到局部变量的作用域问题,局部变量尽管超过了生命期,当时为它在堆栈上分配的内存,如果没人去改写它,那么只是不会变的。哪怕你定义个函数,里面的局部变量赋值后返回,再查看刚才那个函数里的局部变量的内存地址,里面的值也还在!只是这块内存的所有者发生了变化而已。
3,第一次循环if成立,所以实际上是aa[0][1]=2+1=3;但是p值没有变,还是指向a[0][0]并且以后if都不成立了,p只是一直往下个元素指,而且只输出两次,即j=0和j=1两次,也就是aa[0][0]和aa[0][1]
4,n数组全赋初值0知道吧?然后n[0]=n[0]+1=1;n[1]=n[0]+1=2;n[2]=n[0]+1=3;
n[0]=n[1]+1=3;n[1]=n[1]+1=3;n[2]=n[1]+1=4;
n[0]=n[2]+1=5;n[1]=n[2]+1=5;n[2]=n[2]+1=5;
最后输出n[2]的值,即5!(你的题目有问题吧?定义n[3]数组有n[3]元素吗???)
5,子函数的功能就是第三个数等于第二个数减第一个数,所以a=5-10=-5
b=-5-7=-12
c=-12-(-5)=-7
给你发消息了