gpt4 book ai didi

c - fgets 函数不保存字符串中的第一个字母

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

我写了一个程序,从用户那里得到一个数字,然后从用户那里得到每个数字的名字...例如,如果用户输入数字 10,它会取 10 个名字并将其放入一个结构数组中......一切都很好,除了当我打印名字时,它跳过了第一个字母......就像我输入名字“Amit”一样,它打印出“mit”...,而且,我输入的最后一个字符串根本没有保存......这是我写的:

const number_candidates; // Getting the number of candidates
#define MAX 256
#define min_candidate 10
#define max_candidate 60000

typedef struct candidate // Getting details for each candidate
{
char name[MAX];
int sing_grade;
int per_grade;
int cam_grade;
int sharmanti_grade;
}candidate;

void get_details_candidates(candidate candidate[MAX])
{
int i = 0;
printf ("\n");
for (i = 0 ; i < number_candidates ; i++)
{
printf ("Please enter the %d name: ", i + 1);
fgets (candidate[i].name, MAX, stdin);
getchar();
}
}

这是打印:

    for (i = 0 ; i < number_candidates ; i++)     
{
printf ("%s\n", candidates[i].name);
}

感谢您的帮助!

最佳答案

为什么在 fgets() 之后有 getchar()?我认为那是你的罪魁祸首。

关于c - fgets 函数不保存字符串中的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10556140/

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