初学者有不懂的问题
#include"stdio.h"int main()
{
int a,b,c,d,e;
a='c',b='h',c='i',d='n',e='a';
a='c'+4;b='h'+4;c='i'+4;d='n'+4;e='a'+4;
prinft("%c%c%c%c%c",a,b,c,d,e);
return 0;
}
这是我们第一次上实践课老师布置的让我们把china转变为glmre,然后我不李姐那个+4,准确来说都不理解,我们老师只是出题然后也讲个大概。
{:10_266:} 谢谢大佬,真的好茫然第一次学 本帖最后由 jackz007 于 2022-10-8 22:13 编辑
计算机内的字符都是用它们的 ASCII 编码来记录的,就是说它们就是数值为 0 ~ 127 的整型数,例如,'A' 是 65,'B' 是 66,'C' 是 67,'a' 是 97,'b' 是 98,'c' 是 99,明白了这个道理就好办了,那么,一个字符 + 4,就是字母表中,位置排在这个字符后面的第 4 个字母。
例如,'c' + 4 = 'g' , 'h' + 4 = 'l' ,'n' + 4 = 'r' , 'a' + 4 = 'e' 等等。
#include <stdio.h>
int main(void)
{
char b[] = {'c' , 'h' , 'i' , 'n' , 'a'} ;
int i ;
for(i = 0 ; i < sizeof(b) ; i ++) printf("%c" , b) ;
printf("\n") ;
for(i = 0 ; i < sizeof(b) ; i ++) printf("%c" , b + 4) ;
printf("\n") ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
china
glmre
D:\\C> 深度了解ascii码,你就会知道了
这个就是ascll表,把你上面的字符一一对应上去就知道了(看十进制那列)
按照26个字母的顺序,每个都往后移4位
页:
[1]