gpt4 book ai didi

c - int 数组不获取 char 值

转载 作者:行者123 更新时间:2023-12-04 10:37:16 25 4
gpt4 key购买 nike

我在编程方面绝对是全新的,我不确定如何解释我在这里所做的事情。

这部分的全部目的是输入值,然后以相同的顺序打印出来。现在我想在按“q”时退出输入值,所以我必须扫描字符,但是当我将它们分配回 int 数组时,值不一样。

希望这对你有意义,但无论如何这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#define SIZE 5000
define flush fflush(stdin)

main() {
int input[SIZE] = {0},i = 0;
int counter = 0;
char inputs, quit;

do {
system("cls");
printf("Input number ('q' to quit and display numbers entered): ");

flush;
scanf("%c",&inputs);
flush;

if (inputs == 'q')
quit = 'q';
else {
input[i] = inputs;
counter++;
i++;
}
} while (i < SIZE && quit != 'q');

for(i = 0; i < counter; i++){
printf("%i.%i\n", i + 1, input[i]);
}

system("pause");
}

顺便说一句,我一直在尝试自己做这件事,并且还在网上研究了一些关于字符的信息,但找不到任何对我有帮助的东西。非常感谢。

最佳答案

你不应该通过 %c 获取整数,也不应该将 char 值分配给整数变量,而这不是本意,而是你应该这样处理

i = 0;
do {
printf("Enter a number: ");
scanf("%d", &input[i]);
i++; counter++;
printf("Do you want to continue? (y/n) : ");
scanf("%c", &inputs);
} while(inputs == 'y');

或者您可以预先获取整数输入的数量并循环获取那么多整数。

关于c - int 数组不获取 char 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104672/

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