在查找给定数字是否为阿姆斯壮数的程序中,我将输入no(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);