在程序中查找给定数字是否为 Armstrong编号,我将输入编号(3 位)存储为字符串,如下所示。
char input[10];
scanf("%s",&input);
现在我必须使用 math.h 的 pow 方法计算每个数字的立方,如下所示。
int a;
a = pow(input[0],3);
通过这样的编码,我无法得到正确的结果。如果我打印“a”的值,它会显示一些不相关的答案。我的疑问是,如何将字符串值转换为整数值?
最佳答案
您正在对数字的 ASCII 值执行计算。您需要将其转换为数值,如下所示:
int digit = input[0] - '0';
int a; a = pow(digit, 3);
关于c - 关于 C 中字符串处理的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/319847/