while循环的大括号结尾处要加;号码?

如:
while(x>0)
{
}

while(a[++x]>0);
这句话和下面是一个意思
while(a[++x]>0)
{
}
因为省落了大括号所以加了分号表示这是一个完整语句,只是主体是空的。
如果不加分号也不加大括号是错误的,因为这不是一个完整的语句只是一个while循环的判断条件,缺少了主体。
while(b[y]>0)
{
a[x++]=b[y++];
};

这段后面的“;”不用加
他有大括号了,是一个完整的while循环
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-16
不需要拉。但是里面的语句后面的;不能忘了哦追问

下面这个程序是把b的字符串加在a的后面,while(a[++x]>0); 这句话如果不加冒号结果为什么不正确呢?

#include
int main(void)
{
char a[50]="abcdefg";

char b[]="123456";
int x=0;
int y=0;

while(a[++x]>0); //这里如果不加冒号的话结果将不正确
while(b[y]>0)
{
a[x++]=b[y++];
};
printf("%s",a);

getchar();
return 0;
}

追答

while(a[++x]>0); //这里如果不加冒号的话结果将不正确

这边的分号的意思是这个while循环执行一个空语句,也就是说只要满足a[++x]>0这个条件,就什么也不做,继续判断a[++x]>0,直到a[++x]>0不满足。