C语言把数字以unsigned int输出

img


请问为什么我的代码输出结果跟下面那个不一样呢,要怎么改才能跟下面的一样,问题在哪里啊

先-‘0’再乘10的幂。在ascii码中,字符0和字符其他数字都是连续的ascii码,减去字符0就是算的ascii码其他字符数字和‘0’的差值,就是数字本身的int类型转化。

不是帮你改了吗

res = res + ((textual_number[i] - '0') * pow(10, len - i - 1));