西周 发表于 2018-10-7 17:56:28

整数求和问题

想问一下scanf怎么挨个读取数值,这段代码只读进去第一个数

零度非安全 发表于 2018-10-7 18:24:35

用一个 for 循环呀,scanf 写在 for 循环里,你想输入几个,就循环几次

claws0n 发表于 2018-10-7 18:26:48

int main()
{
        int i, sum = 0;
        char ch;
        printf("enter numbers\n");
        while(scanf("%d", &i))
        {
                sum += i;
                while((ch = getchar()) == ' ') //(...)
                        ;
                if(ch == '\n')
                        break;
                ungetc(ch,stdin);
        }
        printf("result = %d\n", sum);
        system("pause");
        return 0;
}

wwhywhy 发表于 2018-10-7 21:40:31

#include "stdio.h"

int main()
{
        int str = 0;
        char ch;
        int i=0;
        int count = 0;
        printf("输入一串数字\n");
        while((scanf("%c", &ch))){
                if (ch == ' ')
                        continue;
                if (ch == '\n')
                        break;
                str = ch - '0';
                count += str;
                printf("count is %d, str is %d\n", count, str);
        }
        printf("结果是%d\n", count);
        return 0;
}

西周 发表于 2018-10-8 10:59:48

claws0n 发表于 2018-10-7 18:26


谢谢谢谢,原来是漏了个括号。。

claws0n 发表于 2018-10-8 11:03:03

西周 发表于 2018-10-8 10:59
谢谢谢谢,原来是漏了个括号。。

优先级要注意,赋值最低
页: [1]
查看完整版本: 整数求和问题