(1)
main()
{int n=0 ;while(n++<=3); printf("%d",n);}
结果是5
请问n是如何变化的!
[解答]
1、当执行n++ 到n=3时,符合while的条件,之后再次执行n++,n值为4
。
2、当n=4时,经判断,不符合while的条件,判断后,执行n++,n值为5
。所以while循环结束时,打印结果为5。
(2)
若有以下定义:”int n=1;”执行语句”while(++n<5)”后变量n是5
请问n是如何变化的
[解答]
当n=4时,执行++n后,n值为5,不符合"n<5"的条件,循环结束。所以n
值为5。
(3)
如果是变量则执行以下语句的结果是不打印任何内容
for(x=1;x<=100;x++)
if(++x%2==0)
if(++x%3==0)
if(++x%5==0)
printf("%d",n);
请解悉为什么不打印任何内容
[解答]
没有满足条件的x值。
(4)main(){
int x=10;
do{x--;} while(--x); /* 此处是(),不是 { }*/
printf("d/n",x--)
结果是0
请解悉x的变化
[解答]
1、初步分析:结束do...while循环的条件是x=0;
就是说,执行"--x"后,x=0时,退出循环,执行打印x,所以打印结果
为0。那么之后,x还要执行x--,即x值为-1。但-1是显示不出来的。
(5)[解答]
while(*pf!=0)
当指针变量pf 所指向的变量的值 不等于0时,执行while循环。
while(!*pf)
把指针变量pf 所指向的变量的值 进行逻辑取反后,其结果不为0时,
执行while循环。
while(*pf==0)
当指针变量pf 所指向的变量的值 等于0时,执行while循环。
while(!*pf==0)
把指针变量pf 所指向的变量的值 进行逻辑取反后,其结果为0时,执
行while循环。
while(1)
循环条件始终成立(为真)。 在C中0为假,非0为真。
while(!0)
将0逻辑取反后,(!0)值为真。循环条件始终成立。
while(*pf!=0/n)
当指针变量pf 所指向的变量的值 不等于0/n时,执行while循环。
这几个概念是什么意思有那几个是一样的
(6)flag==0和flag=0这两个概念有什么不同
[解答]
1、flag==0,是把变量flag的值与0 进行比较,会得到一个逻辑值,即
真或假。
2、flag=0,是把数值0,赋给变量flag。