| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 571 人关注过本帖
标题:while循环的问题 请求解答
只看楼主 加入收藏
topki
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-5-12
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:9 
while循环的问题 请求解答
#include<stdio.h>
int main(void)
{
    long num;
    long sum=0L;
    int status ;
   
    printf("Please enter an integer to bo summed");
    printf("q to quit):");
    status=scanf("%ld",&num);
    while(status==1)
    {
        sum=sum+sum;
        printf("Please enter next integer(q to quit)");
        status=scanf("%ld",&sum);
    }
    printf("Those integers sum to %ld.\n",sum);
    return 0;
}

status=scanf("%ld",&sum);
输入如 10 . status 的值就等于10.
while(status==1)
10不等价于1啊。怎么会继续循环呢?
%ld 输入10 ,结果是1吗?
搜索更多相关主题的帖子: return 
2011-06-18 21:09
zhashuihua
Rank: 2
等 级:论坛游民
帖 子:13
专家分:11
注 册:2011-6-18
收藏
得分:0 
status=scanf("%ld",&sum);
这样好象不行吧,scanf函数会返回这个数吗?应该这样吧,scanf("%ld",&sum);status=sum;
2011-06-18 21:13
topki
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-5-12
收藏
得分:0 
回复 2楼 zhashuihua
会返回一个数的。

[ 本帖最后由 topki 于 2011-6-18 21:27 编辑 ]
2011-06-18 21:24
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
收藏
得分:0 
#include<stdio.h>
int main(void)
{
    long num;
    long sum=0L;
    int status ;
   
    printf("Please enter an integer to bo summed");
    printf("q to quit):");
    status=scanf("%ld",&num);
    printf("status=%d\n",status);//为什么这里要用status啊?
    while(status==1)
    {
        sum=sum+sum;
        printf("sum=%ld\n",sum);
        printf("Please enter next integer(q to quit)");
        status=scanf("%ld",&sum);//此处读入sum,不知道怎么读才能使sum!=1,循环,且将上一个sum的值改变
    }
    printf("Those integers sum to %ld.\n",sum);
    return 0;
}
没太懂你要干什么。。。
2011-06-18 21:55
topki
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-5-12
收藏
得分:0 
以下是引用qldxsun在2011-6-18 21:55:35的发言:

#include
int main(void)

没太懂你要干什么。。。
#include<stdio.h>
int main(void)
{
    long num;
    long sum=0L;
    int status ;
   
    printf("Please enter an integer to bo 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("%d",&num);
        printf("%d",status);
    }
    printf("Those integers sum to %ld.\n",sum);
    return 0;
}

打错了。这个才对。把输入的数字加起来
2011-06-18 22:02
lyqc314761
Rank: 1
来 自:四川
等 级:新手上路
帖 子:11
专家分:2
注 册:2011-5-30
收藏
得分:0 
while(status==1)中的
status==1  是不是要改成 status=1啊

人生如戏,全靠演技
2011-06-18 22:18
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:0 
#include<stdio.h>
#include"stdlib.h"
 main(void)
{
    long num;
    long sum=0;
    int status ;

    printf("Please enter an integer to bo summed");
    printf("q to quit):");
        scanf("%ld",&num);
    status=num;
    while(status==1)
    {
        sum=sum+num;
        printf("Please enter next integer(q to quit)");
            scanf("%d",&num);
           status=num;
        printf("%d",status);
    }
    printf("Those integers sum to %ld.\n",sum);
   system("pause");
}
我也不知道你想干嘛,但是这样改了一下看着顺眼
还有status=scanf("%ld",&num);
这一句有点问题,没报错,但应该不会是你要的结果

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2011-06-18 23:17
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
我不知道scanf的函数原型是什么 但这种写法真没见过
2011-06-19 07:18
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
scanf返回成功录入数据的个数

                                         
===========深入<----------------->浅出============
2011-06-19 09:11
菜鸟。。
Rank: 1
来 自:河北石家庄赵县
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-6-19
收藏
得分:0 
你那个程序中的status=scanf("%ld",&sum);有问题;
因为scanf("%ld",&sum):  这个函数恒为真也就是等于1;
也就是说通过这句就会得到status=1了;所以会出现那样的问题;
2011-06-19 09:17
快速回复:while循环的问题 请求解答
数据加载中...
 
   



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

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