标题:关于循环控制,请教高手!
只看楼主
lakefront
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-27
结帖率:100%
已结贴  问题点数:20 回复次数:2 
关于循环控制,请教高手!
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    long num;
    long sum = 0L;
    int status;
   
    printf("Please enter an integer to be summed.");
    printf("(q to quit):");
    status = scanf("%ld",&num);
    while(status == 1)         
    {
                 sum = sum + num;
                 printf("Please enter next integer (q to quit):");
                 status = scanf("%ld", &num);
    }
    printf("Those integers sum to %ld.\n",sum);
    system("pause");
    return 0;
   
}

很奇怪 status的值怎么会是否==1
请教高手,谢谢。
搜索更多相关主题的帖子: long next include status 
2012-03-04 20:35
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
得分:20 
scanf("%ld",&num);如果格式匹配正确则返回1,错误返回0,所以输入一个长整型数status = 1; 其他的 status = 0; 所以不光是q能退出循环, 随便一个字母都成。

梅尚程荀
马谭杨奚







                                                       
2012-03-04 20:54
lakefront
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-12-27
得分:0 
明白了,谢谢你的回答。
2012-03-04 21:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-362210-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.797958 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved