c语言有问题,凑字,凑字。凑字

#include
#include
#include
int main (void)
{
int a = 5;
do
{
a++;
}
while (a = 7);
printf("%d\n", a);
system("pause>0");
}
如上代码,为什么无法输出啊
do while形式的循环应该是不符合条件就跳出循环啊
结果应该为6啊


while (a = 7); // 里面是==

a = 7少了个=,a==7

这篇文章讲的很详细,请看:c语言指针的有关总结
同时,你还可以查看手册:c语言-exp() 中的内容

while(a==7)

循环内条件:while(a==7)
不写双等于,就是赋值;写了,就是运算符

多谢各位解答,是我的问题(抱拳)