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

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

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

调试通过。

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值