运算
运行下面的程序段,输出结果是int i;
char s[][5]={"123","456","789","abc"};
for (i=0;i++<3;)
printf("%s",s[i]);
答案是456789abc是怎么算出来的?
循环共三次,i=0,i=1;i=2;
每次循环判断后i就自增,所以第一次输出的是s[1]以此类推。
由于s是二维数组,S[I]其实是第I列的头指针,打印除来的就是头指针指向的字符串就出现楼主的结果了。
由于s是二维数组,S[I]其实是第I列的头指针,打印除来的就是头指针指向的字符串就出现楼主的结果了。
这句话不太懂,能不能解释的清楚一点?
你就把一个二维数组 a[n][m] 看成是n+1个长度为m+1的一维数组就行了。例如:
二维数组 int a[2][3]={{1,2,3},{4,5,6},{7,8,9}}; 他其实可以看成由3个长度为4的一维数组组成的。
[此贴子已经被作者于2004-08-02 15:16:02编辑过]
我有个问题,后缀自增运算不是先执行后面的再自增吗?
这里为什么是先自增后判断?不解……