gpt4 book ai didi

c - 如何解析c中的操作?

转载 作者:行者123 更新时间:2023-11-30 18:38:49 27 4
gpt4 key购买 nike

我决定通过编写一个简单的小程序来刷新我的 C 语言。我尝试从文件“myfile.txt”读入,应用操作并打印到标准输出。该文件包含一行:

2 + 3

我期望的输出是:

5

但我发现这比我最初预期的要复杂得多。起初我尝试使用 getc() 但不断出现段错误,然后我尝试 fscanf() 除了打印的 print 语句之外,没有任何输出添加到 stdin:

2   1556274040

为什么输出2是1556274040?有没有更好的方法来尝试应用从文件读取的操作,例如我可以使用的某些 apply() 函数?这是我的代码:

int main()
{
int ans, num1, num2;
char oper;
FILE *pFile;
pFile = fopen("myfile.txt", "r");
if (pFile != NULL) {
fscanf(pFile, "%d", &num1);
fscanf(pFile, "%c", &oper);
fscanf(pFile, "%d", &num2);
printf ("%d %c %d", num1, oper, num2);
if (oper == '+') {
ans = num1 + num2;
printf(ans);
}
fclose(pFile);
}
return 0;
}

最佳答案

printf(ans);

这不是打印 int 变量 的有效语法。试试这个 -

printf("%d\n",ans);

如你所问您可以使用fgets而不是使用 fscanf 读取文件内容,但请确保您检查其返回

关于c - 如何解析c中的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32333993/

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