c - 关于 C 中字符串处理的帮助

标签 c string math

在程序中查找给定数字是否为 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/

相关文章:

c - 是否有 C 函数来获取文件的权限?

在一组球体之间的间隙中寻找最大球体的算法

c# - 免费数学方程图像生成器

const 指针抛出编译错误

c - extern 关键字对 C 函数的影响

C 中灵活数据类型项的调用堆栈 API

java - 我如何创建一个在 java 中同时接受 String[] 和 Integer[] 的方法而不重载方法?

java - 如何考虑新段落的第一个词?

javascript - 如何在没有 RegExp 的情况下向数字添加逗号

flash - Math.floor 是否像 ActionScript 3 中的 Math.round 一样?