关于while 语句内 的if语句 无法结束循环

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:31:57
编了一个程序;想学习一下continue和break语句的区别;结果是:

#include "stdio.h"

main()
{
int a,b,x;
a=1;b=2;
scanf("%d",&x);
while(1)
{
a=a+1;
{
if(a=b)
{a++;}
}

printf("%d ",a);
if(a>x)
{break;}
}
printf("%d",a);
}

以上程序中若把

if(a=b)
{a++;}

删除;则可输出结果;但是若存在;则while循环会一直循环下去.不执行
if(a>x)
{break;}
想了很久没想通是为什么.还望指教
谢谢各位;俺直接晕死了;这么低级的错误也会范;实在是有点汗颜;

把if(a=b)改成if(a==b)
“=”在C语言里永远是赋值的意思,而逻辑判断用的则是“==”

contine就是掠过当次循环尚未执行的语句,直接进入下一次循环
break是直接跳出当前循环

我说楼主
if(a=b)
{a++;}
这里if怎么可以用赋值符号呢???用==好了!