gpt4 book ai didi

c - fgets 在输入之前读取上一行

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

当我输入内容时,在我输入字符串之前问题会重复。

printf("Enter %d coefficients starting from the 0th degree.\nSeparate them by commas: ", degree+1);
fgets(coeffs_string, MAX, stdin);
for(i=0;i<strlen(coeffs_string);i++){
if(coeffs_string[i]==','){
commas++;
continue;
}
else if(isdigit(coeffs_string[i]) || coeffs_string[i]==' ')
continue;
else{
printf("\007Error! A character was found during the input!\n");
coeffs_string[0]='\0';
commas=0;
break;
}
}

此外,即使我输入正确的输入,它也会打印错误处理程序。我尝试使用 scanf 但它就停止了。有没有办法让 fgets 或 scanf 不快速读取输入? *编辑:抱歉:我忘记了代码的某些部分

最佳答案

  1. 尝试在 printf() 和之间放置一个 fflush(stdout);fgets() 语句。或者,在与输出不同的行上获取输入。
  2. fgets() 返回的字符串将包含用户通过按 Enter 键生成的行终止符 key 。您没有明确处理这些字符,因此错误消息将始终显示。

关于c - fgets 在输入之前读取上一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33145293/

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