whill语句的问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 09:13:49
char *a="i am a teacher";
char *b="you are a student";
while((*b++=*a++)!='\0');
printf("%s",*b);

想问的的是在while语句中,为什么*b++和*a++会不断附值到'\0'为止,'\0'判断的是*b++的结果还是*a++的结果?

((*b++=*a++)!='\0')判断的是*b的结果,但是又有 (*b++=*a++),所以实际是到*a结束是循环结束。

是*b的结果 也就是*a 的结果 因为(*b++=*a++)的值是*b的值

这个程序是错误的。
b是不能被赋值的。写错代码了吧。