gpt4 book ai didi

带循环 inC 的字符输入?

转载 作者:行者123 更新时间:2023-11-30 14:59:53 24 4
gpt4 key购买 nike

int main(){
char students[20][20]={
"Ehtisham Hassan",
"Arbab Mushtaq",
"M Yaseen Ayub",
"Qamar Farooq",
"Muhammad Muneeb"
};
char isPresent;

for(int b=0; b<5; b++){

printf("%s\n",students[b]);
scanf("%c\n",&isPresent);

}

return 0;
}

我希望我的代码做的是从学生数组中打印一名学生的姓名,然后等待用户输入一个字符,但它所做的是打印一名学生的姓名,然后存储一个字符,然后当循环第二次运行时,它会打印两个学生的姓名,然后等待 char 输入。谁能告诉我为什么会发生这种情况吗?

这是我的程序的输出:

Ehtisham Hassan
a
Arbab Mushtaq
M Yaseen Ayub
a
Qamar Farooq
Muhammad Muneeb
a

预期输出:

Ehtisham Hassan
a
Arbab Mushtaq
a
M Yaseen Ayub
a
Qamar Farooq
a
Muhammad Muneeb
a

最佳答案

使用

scanf(" %c",&isPresent);
^^
white space and removed '\n`

而不是

scanf("%c\n",&isPresent);

引用此FAQ问题。

关于带循环 inC 的字符输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42456093/

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