#include"stdio.h"
main()
{ char c1[10],c2[26];
int i;
for(i=0;i<10;i++)
c1[i]=i+48;
for(i=0;i<26;i++)
c2[i]=i+'A';
for(i=0;i<10;i++)
printf("%c ",c1[i]);
printf("\n");
for(i=0;i<26;i++)
printf("%c ",c2[i]);
printf("\n");
}
```c++
c1[i]=i+48
```;可以输出0~9,为什么加48呢?c2[i]=i+'A';还有这句也不太理解
因为i是个序数,0-9之间,加上48后就是字符'0'-'9'的ASCII码,其中48就是字符'0'的ASCII码
同样c2[i] = i+'A'也一样,i是序数,0-25之间,'A' + 0就是字符'A','A' + 1就是字符'B'啊。实际都是进行ASCII码相加
这段代码中,c1数组和c2数组分别存储了数字字符和大写字母字符。
在循环中,你可以看到对c1数组的每个元素赋值的语句:
c1[i] = i + 48;
同理,对c2数组的每个元素赋值的语句:
c2[i] = i + 'A';
换句话说,通过将i与'A'相加,c2[i]可以存储大写字母字符'A'~'Z'的ASCII码值。