gpt4 book ai didi

c - 没有得到想要的输出。有人可以告诉我解决方案吗?

转载 作者:行者123 更新时间:2023-11-30 21:29:10 26 4
gpt4 key购买 nike

#include<stdio.h>

int calsum(int x, int y, int z);

void main()
{
int a,b,c,i, sum;
for(i = 1; i <= 3; i++)
printf("\n Enter Number %d\n", i);

scanf("%d %d %d", &a, &b, &c);
sum= calsum(a,b,c);
printf("\nSum=%d", sum);
}

int calsum(int x, int y, int z)
{
int d;
d = x + y + z;
return (d);
}

嗨,我想一一输入数字,但我得到的输出是..

amol@amol-HP-Pavilion-15-Notebook-PC ~/Desktop/C codes $ ./a.out

Enter Number 1

Enter Number 2

Enter Number 3

而我希望它一次询问我一个输入。请帮我。我对此很陌生。

最佳答案

  1. 您的 for 循环内部只有一行代码,

    printf("\n Enter Number %d\n", i);

    所以输出是正确的。

  2. main() 必须返回 int

  3. 必须检查scanf()的返回值。
  4. 你可以使用这样的东西

    #include <stdio.h>

    int calsum(int x, int y, int z);
    int getinteger();

    int main()
    {
    int a, b, c, z;

    a = getinteger(1);
    b = getinteger(2);
    c = getinteger(3);

    z = calsum(a, b, c);

    printf("\nSum = %d", z);

    return 0;
    }

    int calsum(int x, int y, int z)
    {
    int d;
    d = x + y +z;
    return d;
    }

    int getinteger(int index)
    {
    int value;
    printf("Enter the %dth number > ", index);
    while (scanf("%d", &value) != 1)
    {
    int chr;
    while (((chr = getchar()) != '\n') && (chr != EOF))
    continue;
    printf("Invalid input -- try again\n");
    printf("Enter the %dth number > ", index);
    }
    return value;
    }

关于c - 没有得到想要的输出。有人可以告诉我解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33708191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com