第一个程序:将“CHINA”译成密码

先按照书上的要求写了一个程序:

#include 
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 
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 
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);
}

调试通过。

一个&坏了一段程序啊……

你可能感兴趣的:(c,双手成就梦想)