回 帖 发 新 帖 刷新版面

主题:一个小小的疑问

main()
{int sum=0,i;
scanf("%d',&i);
while(i<=10)    这句如果改成while(i<=10);可以不
{sum=sum+i;
i++;
}
printf("%d",sum);
}



main()
{int sum=0,i;
scanf("%d",&i);
do
{sum=sum+i;
i++;
}while(i<=10);
printf("%d",sum);
}
中while(i<=10);是语句还是表达式啊
为什么啊

回复列表 (共7个回复)

沙发

main()
{int sum=0,i;
scanf("%d',&i);
while(i<=10)    这句如果改成while(i<=10);可以不
{sum=sum+i;
i++;
}
printf("%d",sum);
}
上面是求1+2+3+。。。+10的程序,先应该定义i=1;不能改成改成while(i<=10);不要;

板凳


好想可以先不定i义是多少
在10以内的数都可以输入
例如输入5
后面就是5+6+7+9+8+10

3 楼


while循环的结构是
while(表达式)  //这个后面不跟分号
{
   循环体;
}

4 楼


你知道语句与表达式有什么区别吗?
任何表达式后加;就是语句了
我是想问第一个程序的while(i<=10)是表达式
而为什么第二个程式的while(i<=10);也是表达式

5 楼

while(i<=10)    这句如果改成while(i<=10);可以不  //如果加;这句话就失去意义了,因为当前面没有do{}时,while(i<=10);====等价于while(i<=10){}
{sum=sum+i;
i++;
}
printf("%d",sum);
}

把书上while的用法好好看看

6 楼

[quote]while(i<=10)    这句如果改成while(i<=10);可以不  //如果加;这句话就失去意义了,因为当前面没有do{}时,while(i<=10);====等价于while(i<=10){}
{sum=sum+i;
i++;
}
printf("%d",sum);
}

把书上while的用法好好看看[/quote]

7 楼

if(表达式)
  {语句块};


for(;;)
{语句块};


...

我来回复

您尚未登录,请登录后再回复。点此登录或注册