先按照书上的要求写了一个程序:
#include <stdio.h>
main()
{
char c1,c2,c3,c4,c5;
c1='C';
c2='H';
c3='I';
c4='N';
c5='A';
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5);
}
运行通过;
做完之后感觉这代码没什么实际用途,想改为可输入字符进行转换:
#include <stdio.h>
main()
{
char c1,c2,c3,c4,c5;
scanf("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5);
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5);
}
本以为也同样可以成功,却出现如下提示:
在此处纠结了数十分钟,在百度上寻找能输入字符的函数,基本上都是说scanf和getchar,可getchar只能取一个字符,断定函数没有用错,查看程序,感觉没有问题,但查书发现:
scanf中要求给出变量地址,如给出变量名则会出错
于是将程序改为:
#include <stdio.h>
main()
{
char c1,c2,c3,c4,c5;
scanf("%c,%c,%c,%c,%c",&c1,&c2,&c3,&c4,&c5);
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5);
}
调试通过。
一个&坏了一段程序啊……