【问题标题】:C Programming - Cant print user inputC 编程 - 无法打印用户输入
【发布时间】:2015-12-30 06:57:11
【问题描述】:

我对 C 很陌生,很快就有作业要交了。我需要编写一个程序,询问用户许多数字并在用户键入“0”时停止。然后显示用户输入的数字以及有多少偶数和奇数。然后把它们全部加起来。我需要 num=0 才能使我的函数工作,但这也是停止 while 语句的数字,因此程序最终甚至不要求输入,而是立即停止。有人可以帮我吗?任何线索或指南将不胜感激。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int getNumbers(int sumEven, int sumOdd, int num);

int main (void) {

int number_of_integers, sumEven, sumOdd;
char user_name[128];

printf("What is your name?\n");
scanf("%s", user_name);

printf("\nEnter any real numbers followed by ENTER.\n");
int num = 0;

while (num = 0) {
    scanf("%d\n", &num);
    if (num < 0)
        printf("<-Error: Please enter positive numbers!->\n");
}

num = getNumbers(sumEven, sumOdd, num);

printf("%s, the numbers you entered are broken down as follows:\n", user_name);
printf("%d" , num);

return 0;
}

int getNumbers(int sumEven, int sumOdd, int num)  {
    sumEven = 0;
    sumOdd = 0;

    if (num % 2 == 0)
        sumEven += num;
    else
        sumOdd += num;
}

【问题讨论】:

  • 另外,我还不能使用数组,因为我们还没有学会它们
  • 你的代码问题太多了。掌握基本知识对您有好处。
  • 不能显示用户输入0后输入的所有数字,因为没有数组就无法存储。
  • num = 0num 设置为0。也许你想要==
  • 您已经在使用数组。 (char user_name[128];)

标签: c loops printing scanf


【解决方案1】:

以下是代码中的错误:

//while (num = 0) {
while (num == 0) {
    scanf("%d\n", &num);
    if (num < 0)
        printf("<-Error: Please enter positive numbers!->\n");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多