【发布时间】:2015-10-02 00:26:04
【问题描述】:
您好,我是 C 的新手,正在尝试制作一个要求用户输入一大堆数字的程序。我想循环scanf,以便它不断询问,当用户输入“0”时,它会停止,读取输入的偶数和奇数,并分别计算它们。现在,我可以在用户按下“Enter”后继续询问新的数字,但是当我输入“0”时,我只是一直在询问更多的数字并且不会停止。我究竟做错了什么?就像我之前说的,我是新手,所以最好用婴儿话。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (void) {
int number_of_integers, sum = 0, i, integer;
char user_name[128];
printf("What is your name?\n");
scanf("%s", user_name);
printf("\nEnter any real numbers followed by ENTER.\n");
while (integer != 0) {
scanf("%s", &integer);
if (integer == 0)
break;
}
printf("%s, the numbers you entered are broken down as follows:\n", user_name);
return 0;
}
【问题讨论】:
-
scanf("%s", &integer); ???以整数存储字符串?
-
是的,这是一个错误,现在按 0 时它可以工作。谢谢!
-
如果您知道如何记录输入的偶数/奇数并计算它们,那就太好了!
-
你可以在互联网上搜索。你可以很容易地找到答案。
-
integer需要初始化为非零。
标签: c loops conditional-statements scanf exit