帮助C中的字符串处理

1 c string math

在查找给定数字是否为阿姆斯壮数的程序中,我将输入no(3位)存储为字符串,如下所示.

char input[10];
scanf("%s",&input);
Run Code Online (Sandbox Code Playgroud)

现在我必须使用math.h的pow方法计算每个数字的立方体,如下所示.

int a;
a = pow(input[0],3);
Run Code Online (Sandbox Code Playgroud)

通过这样的编码,我无法得到正确的结果.如果我打印"a"的值,它会显示一些不相关的答案.我的疑问是,如何从字符串值转换为整数值?

Ada*_*rce 8

您正在对数字的ASCII值执行计算.您需要将其转换为数值,如下所示:

int digit = input[0] - '0';

int a; a = pow(digit, 3);
Run Code Online (Sandbox Code Playgroud)