gpt4 book ai didi

C程序在接受用户输入之前退出

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:20 24 4
gpt4 key购买 nike

为什么我的程序在获取 k 的输入然后显示它之前就关闭了。

我正在为基于菜单的程序编写代码,所以我需要在用户输入信息后获取输入,这样我就可以 1.打印名称 2.退出在这样做的时候,我意识到我的程序没有接受输入,只是跳过了它应该从用户那里获取 l 值的部分。所以尝试调试它我删除了一些东西并归结为这个简单的程序并意识到它仍然无法工作不知道为什么?

#include <stdio.h>

struct student
{
char name[50];
char lname[50];
float marks;
} s[15];

int main ()
{
int i, j,k;

printf("Please enter the number of students:\n");
scanf ("%d", &j);

printf ("Please enter the information for students as asked.\n");

for (i = 0; i < j; i++)
{
scanf ("%s %s %f\n", s[i].name, s[i].lname, &s[i].marks);
}

printf("Please enter a number\n");
scanf ("%d", &k);

printf("your number was %d", k);

return 0;
}

最佳答案

scanf ("%s %s %f\n", s[i].name, s[i].lname, &s[i].marks);

应该是

scanf ("%s %s %f", s[i].name, s[i].lname, &s[i].marks);

scanf 中的 \n 只消耗换行符。它将继续消耗换行符,直到找到一个非换行符字符,将其放回标准输入以进行下一次 IO 操作

关于C程序在接受用户输入之前退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46945341/

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