一 若输入5,输出结果是 _6__× 4 √ ,为什么?
main()
{ int x;
scanf("%d",&x);
if(x--<5) /*不是将5代入x,然后x<5作比较,再x--吗? 莫非是因为--的优先级 比<大,所以先--再比较?所以等于4?*/
printf("%d",x);
else printf("%d",x++);
}
二 输出结果是____ n e
main()
{ char b[]="Language";
char *p=b;
printf("%c",*(b+2));
p=p+7; /*这是p[0]的地址加7吗? 关于地址还是内容加的不懂*/
printf("%c\n",*p++);
}
三 输出结果为____ 0
main()
{ int y=10;
do{y--;}
whitle(--y); /*这意思是直到--y!=0,即y==2时,不再循环,这时是y--==2吗?*/
printf("%d\n",y--); /*然后自减两次,所以等于0?*/
}
还有 字符串 的整体输出与输入 怎么输?
3中 while(--y);
中的-- 也会使y的值少1吗? 不是只是判断 , 发现不符合然后退出循环 ,此时y值是--前的吧? 就是+回1?
= =..不知道表达得清楚不... 谢谢
--y会先将y减1,再进行判断。循环退出后y值是--后的值。你可以考虑进入条件判断前y=1的情况。
追问再问一个问题..考完试了..^^
int k=10;
while(k=0);
……
是不是循环体一次也不执行呢?因为k=0的逻辑值一直为0。
倘若改为while(k=1)循环体就无限循环,对不对?
嗯,对。