为什么不同?
#include<stdio.h>int main(){
int k;
for (k=1,printf("%d: Hi!\n",k);k*k<26,printf("k=%d\n",k);k+=2,printf("Now k is %d\n",k))
printf("k is %d in the loop\n",k);
return 0;
}这样k打出来是随机数而且死循环怎么回事;
for (k=1,printf("%d: Hi!\n",k);printf("k=%d\n",k),k*k<26;k+=2,printf("Now k is %d\n",k))
这样又正常了。 谁知道呢可能是……………………………………因为爱情????
k*k<26 , printf("k=%d\n",k)
printf("k=%d\n",k) , k*k<26
这俩式子叫什么?没错叫逗号表达式!
逗号表达式整体的值是什么?没错是最后一项的值!
第一个式子最后一个值是什么?没错是printf的返回值!printf的返回值是什么?没错是打印的字符个数!是不是0?不是,既然不是0就是真,循环要不要继续?要!!!!!!
第二个式子最后一个值是什么?是k*k<26现在你知道为什么了吗??????
页:
[1]