gpt4 book ai didi

C while 循环跳过输入

转载 作者:行者123 更新时间:2023-11-30 17:52:20 24 4
gpt4 key购买 nike

这是一个家庭作业问题。我有一个正在读取输入的 C 程序。它需要用户想要记录的一些人,在这里由变量 choice 指定,然后将他们的名字和姓氏以及年龄记录到各自的数组中。我有一个 while 循环来获取用户的输入,但是 while 循环的第一个循环完全跳过获取第一个输入。不过,在第一次循环之后,它确实正确记录了用户的输入。我想知道我可能做错了什么。这是我的 while 循环:

char firstName[choice][20];
char lastName[choice][20];
int age[choice][3];
while(i < choice + 1)
{
fputs("Enter the first name of the person ", stdout);
fflush(stdout);
fgets(firstName[i], sizeof firstName[i], stdin);

fputs("Enter the last name of the person ", stdout);
fflush(stdout);
fgets(lastName[i], sizeof lastName[i], stdin);

fputs("Enter the age of the person ", stdout);
fflush(stdout);
fgets(age[i], sizeof age[i], stdin);

i++;
}

任何帮助将不胜感激。

最佳答案

以这种方式修复您的代码

i = 0;
while(i < choice)

while 应该停止在 choice - 1 处,而不是 choice 处,因为 C strat 中的数组索引是从 0 开始的。

0,1,2,...,(choice-1) //==> the total is (choice) indices

关于C while 循环跳过输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16283958/

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