烦人的数组问题

来源:百度知道 编辑:UC知道 时间:2024/09/22 09:48:21
#include "stdio.h"
#include "conio.h"

main()
{
int j,c;
static char n[2][5]={"8980","9198"};
for(j=3;j>=0;j--)
{ c=n[0][j]+n[1][j]-2*'0';\\C是整形, ‘0’+‘8’-‘0’*‘0’ 如果转换成十进制 算 8
n[0][j]=c%10+'0';\*这里我也很迷茫, 8%10== 2 (整形) 2+‘0’ 到底怎么算? 也转换成十进制?而且的出的值付字符数组n 那么也需要转换成字符型?*\
}
for(j=0;j<=1;j++)
puts(n[j]);
getch();
} wint-tc 给的答案是 7078
9098

不需要这么麻烦,机器自动认为字符型数据就是整形数据,所以char型其实也是int型,所以机器可以直接计算,如果要人工计算的话,就把字符型数据转化为整型数据算吧

编译器在编译时,会自动将字符型数据转换为相应的ASCII码,也就是整形数据。在一定的范围内字符型和整形数据可以互为运用的。你可以查看ASCII码表