这个程序并不是把字符串常量转换为整型。
char c;
c="naa"; 这里的赋值是有问题的,赋值时,把字符串赋值给其他的量,其实赋值的是他的首地址也就是一个指针,且被强制转换成了一个字符类型,也就是8位二进制数。
下面的代码的输出就不是48了。
#include <math.h>
int main()
{
int a=0, b, m, n, i, k = 0;
char c;
c = "adcfsdgfg";
b=a+c;
printf("%d\n",b);
c = "a34df";
b=a+c;
printf("%d\n",b);
c = "f34a34sdf";
b=a+c;
printf("%d\n\n",b);
return 0;
}