gpt4 book ai didi

c - 尝试使用 atoi 但它不起作用

转载 作者:行者123 更新时间:2023-11-30 20:21:18 58 4
gpt4 key购买 nike

这些是我遇到的错误:

    search.c: In function ‘checkGrades’:
search.c:63: warning: passing argument 1 of ‘atoi’ makes pointer from
integer without a cast
/usr/include/stdlib.h:148: note: expected ‘const char *’ but argument is
of type ‘char’
search.c:63: error: expected ‘)’ before ‘;’ token

这是我的代码:

    int checkGrades(STUDENT grades[], int maxrecs, FILE* fp)
{
char line[LINE_MAX];
int rc;
int count = 0;
int score;
char id;
while(fgets(line,LINE_MAX, fp) != NULL)
{
rc = sscanf(line,
"%25[^:]%*c%25[^:]%*c%6s%*c%3d%*c%3d%*c%3d%*c%3d%*c%3d%*c%2c",
grades[count].id,
&grades[count].score[1],
&grades[count].score[2],
&grades[count].score[3],
&grades[count].grade);
if((rc != 9) ||

rc == atoi (id);

grades[count].id < 100000 ||
grades[count].id > 999999 ||
grades[count].grade < 0 ||
grades[count].grade > 110)
{


printf("Invalid Record: %s", line);
}
else
{
count++;
if(count == TNARRAY_MAX)break;
}
printf("ID: ", grades-> id);
}

我不太确定 rc 是否是我应该用于 atoi 的东西,我是 C 初学者,我尝试了很多组合但没有成功。我知道在比较之前我需要将字符串转换为 int,但我很不知道如何做到这一点。任何帮助将不胜感激!

最佳答案

atoi 函数需要一个指向 const 字符串的指针,如下所示:(const char *str)

您可以在此处查看其用法示例:https://www.tutorialspoint.com/c_standard_library/c_function_atoi.htm

另外,我不确定您是否打算复制整个代码(我假设 LINE_MAX 和 TNARRAY_MAX 是在某处定义的宏?),但就目前情况而言,您有一个花括号不匹配,这意味着您发布的这部分代码最后还需要一个“}”。

关于c - 尝试使用 atoi 但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43149863/

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