鱼C论坛

 找回密码
 立即注册
查看: 2816|回复: 3

while的问题,纠结了!

[复制链接]
发表于 2011-12-25 23:52:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
        int mun,n,i,numbrt;
        n=0;
        mun=0;
        printf("Enter n digits:");
        scanf ("%d",&n);
        for(i=0;i<n;i++)
        {   
                scanf("%d",&numbrt);
                                {
                        if(numbrt%2==0)
                        {
                                mun=mun+numbrt;
                        }
                }
        }
        printf("%d\n",mun);
}
输入几个数,把它们为偶数的累加!上面的程序没错可以运行,但是
#include<stdio.h>
void main()
{
        int mun,n,i,numbrt;
        n=0;
        mun=0;
        printf("Enter n digits:");
        scanf ("%d",&n);
        for(i=0;i<n;i++)
        {   
                scanf("%d",&numbrt);
                while(numbrt>=0);
                {
                        if(numbrt%2==0)
                        {
                                mun=mun+numbrt;
                        }
                }
        }
        printf("%d\n",mun);
}
加了个while(numbrt>=0);就运行不了,,如果吧while(1)这样也是运行不了,只有把条件改为0才可以运行,求解!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-12-26 00:30:06 | 显示全部楼层
你是要将指定个数的几个数的偶数相加吧?

首先while(numbrt>=0);这句语义上没任何意义。

其次while(numbrt>=0);这句语法上,多了个;
此时while(numbrt>=0);在做无限循环,当然不会得到正确答案。

退一步说,即使你把while(numbrt>=0);后面的; 去掉了,仍然在做无限循环。
因为你在循环体内没有对numbrt进行操作,while语句永远为真。

希望对你有帮助。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-12-26 12:52:05 From FishC Mobile | 显示全部楼层
二楼正解,请楼主仔细研究
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-12-26 18:15:02 | 显示全部楼层
lz也是贝迷?
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-10 10:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表