#include<stdio.h> int main() { int i=10; while(i--); printf("%d\n",i); return 0; } 结果i=-1,虽然最后i=0但是i--作为判断条件仍然要执行,因此i=-1而不是0. #include<stdio.h> int main() { int x=4,y=0,z=0; if(x=y+z) printf("*****"); else printf("#####); } 结果是#####而不是****;考虑到优先级的关系,现将y付给x,在执行x+z; #include<stdio.h> void fun(char *p) { int a,b; for(a=b=0;p[a]!='\0';a++) if(p[a]!='d') p[b++]=p[a]; p[b]='\0'; } int main() { char str[]="abcdef"; fun(str); printf("str=%s\n",str); } 输出str="abcef",这道题仔细分析就不会出错 #include<stdio.h> int main() { int a[5]={2,4,6,8,10}; int *p=a,**q=&p; printf("%d ",*(p++)); printf("%d\n",**q); return 0; }
时间: 2024-10-29 19:11:27