#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;
}
C做题笔记(一)
最新推荐文章于 2024-07-11 22:05:46 发布