有C几个语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:18:46
(1)
main()
{int n=o ;while(n++<=3); printf("%d%,n)}
结果是5
请问n是如何变化的!
(2)
若有以下定义:”int n=1;”执行语句”while(++n<5)”后变量n是5
请问n是如何变化的
(3)
如果是变量则执行以下语句的结果是不打印任何内容
for(x=1;x<=100;x++)
if(++x%2==0)
if(++x%3==0)
if(++x%5==0)
printf("%d%,n);
请解悉为什么不打印任何内容
(4)main(){
int x=10;
do{x--;} while{--x};
printf("d/n",x--)

结果是0
请解悉x的变化
(5)
while(*pf!=0)
while(!*pf)
while(*pf==0)
while(!*pf==0)
while(1)
while(!0)
while(*pf!=0/n)
这几个概念是什么意思有那几个是一样的
(6)flag==0和flag=0这两个概念有什么不同
对不起printf("%d%,n); 应该是printf("%d",x);
while(*pf!=0) while(*pf!=0/n) while(!*pf==0) 意思一样
while(!*pf) while(*pf==0) 意思一样
while(1) while(!0) 意思一样
请问分别是什么意思!
第三问是怎样的

1.前几步很简单,到了(n++)等于3的时候,由于++这里是后缀写法,所以此时n==4,循环继续,(
(n++)等于4,而n成了5
2.++这里是前缀写法,所以先加后返回,整体符合日常经验,最后也就是5了,这两个如果还不明白,就再查查++,--前缀后缀的区别或者用调试器跟踪一下就明白了
3.这个变化有点复杂,先是x=1,++x%2==0成立,x=2,++x%3==0成立,x==3,%5的就不成立了,循环x++,x=5,然后%2成立,%3成立,这时x=6,%2不成立,x=7,循环加1,x=8.......此时推下去x在循环开始始终为偶数,也就始终到不了最后那个printf了;
4.do里x先减-1,while条件里x再减1,循环后x==0退出循环,打印是是打印x--,输出0,x再自减1,x=-1;
5.就像 kanerry说的:
while(*pf!=0) while(*pf!=0/n) while(!*pf==0) 意思一样
(0初任何数等于0,不等于0 等价与 等于0取反就是不等于0)
while(!*pf) while(*pf==0) 意思一样
(前者是简写,补全为while((!*pf)==0),非负取!就是0)
while(1) while(!0) 意思一样
(同上,0取!为1)

其实这几个问题很简单,楼主要学会自己使用调试器跟踪观察,很多问题就会变得很容易理解

热^^ 楼上的扯远了哈

那就答第5题吧
while(*pf!=0) while(*pf!=0/n) while(!*pf==0) 意思一样,*pf不为0时做
while(!*pf) while(*pf==0) 意思一样,*pf为0时做
while(1) while(!0) 意思一样,死循环

第三问
printf("%d%,n);
应该写成printf("%d",n);
而且
应该是打印x,不是n...

(1)老兄你耍我们啊,运行结果是4,不是5.过程很简单的!
(2)结果同(1)...<