gpt4 book ai didi

c - 问题添加从 fgetc 收到的值?

转载 作者:行者123 更新时间:2023-12-04 07:04:09 26 4
gpt4 key购买 nike

我编写了一个函数,用于从输入文件中读取任何整数,找到这些数字的总和,并找到数字的总数(我已经开始工作了)。在这里:

int total = 0;
int ncount = 0;
int cse;
do
{
cse = fgetc(infp);
if(cse <= '9' && cse >= '0')
{
total += cse;
ncount++;
}
}while(cse != EOF);

fprintf(outp,"Number of numbers is %d\n", ncount);
fprintf(outp, "Total is %c\n", total);

如果我输入 78345,它应该等于 total = 27;我得到总计 = 267。同样,如果我只打印 fgetc 值,我会得到 53 54 57 等数字。但是,当我使用 %c 打印它们时,我得到 78345。我如何使用此逻辑将这些值相加作为总和?提前致谢!

最佳答案

两件事。首先,您要添加字符 ASCII 值,而不是字符所代表的内容:

total += cse;

你可能想从中减去字符零的值,作为一个勉强简单的转换:

total += cse - '0';

然后,其次,您要打印一个字符值:

fprintf(outp, "Total is %c\n", total);

使用像 %d 这样的整数格式化程序。

关于c - 问题添加从 fgetc 收到的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34079655/

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