gpt4 book ai didi

c - 使用 scanf ("%d\n"时出现意外输出)

转载 作者:行者123 更新时间:2023-11-30 20:57:38 25 4
gpt4 key购买 nike

阅读 3 次后我期望的输出是这三个数字的总和,但在读取数字时,打印出现问题。

    for (i = 0; i < TAMANIO; i++) {
scanf("%d\n",&ar[i]);
printf("numero: %d\n",ar[i]); //print numbers
}

如果您需要完整的代码。

#include <stdio.h>
#define TAMANIO 3

//prototipo de funciones
void pri();
int pro(int a, int b, int c);

int main () {
pri(); //Ask for numbers
int i; //counter
int ar[TAMANIO];

for (i = 0; i < TAMANIO; i++) {
scanf("%d\n",&ar[i]);
printf("numero: %d\n",ar[i]); //print numbers
}
printf("suma de numeros: %d\n", pro(ar[0],ar[1],ar[2])); //send number to function and print
return 0;
}

void pri(){
//write numbers
printf("Escriba los 3 numeros a ser operados : \n");
}

int pro(int a, int b, int c) {
int sum;
sum = a + b + c;
return sum;
}

我期望阅读时:

"enter numbers"
1
number : 1
2
number : 2
3
number : 3
sum : 6

[ 更多 Scanf() 信息 ] What is the effect of trailing white space in a scanf() format string?

最佳答案

您可以尝试将 scanf("%d\n",&ar[i]); 更改为 scanf("%d",&ar[i]); ,因为它也会尝试在循环中读取换行符。

只需从扫描中删除 \n

关于c - 使用 scanf ("%d\n"时出现意外输出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57248188/

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