前言
开学后,又从头开始,应学习要求发一篇日志,人菜菜菜菜菜请轻喷。
题目描述:大家c语言的学的第一个程序应该就是输出hello world,我们知道每一个字符都有一个ASCII码,请你输出hello world每一个字符的ASCII码+1对应的那个字符.比如a对应ASCII码的下一个字符是b.。
一、ASCII码是什么?
像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII码。(百度百科)
二、解题步骤
1.自定义函数
想法是自定义一个函数,作用是读取原来字符的ASCLL码加一后输出新的字符。
代码如下(示例):
void ma(char n){
int a,b;//a用于存储原字符,b用于存储字符+1值
a=(int) n;
b=a+1;
printf("%c",b);
}
2.尝试写入
代码如下(示例):
#include<stdio.h>
void ma (char n);
int main()
{
ma('h');
ma('e');
ma('l');
ma('l');
ma('o');
ma('w');
ma('o');
ma('r');
ma('l');
ma('d');
return 0;
}
void ma (char n){
int m,a;
m=(int)n;
a=m+1;
printf("%c",a);
}
但是结果报错,苦思都感觉没有问题,经同学提醒,才发现原来“ ”也算作字符,应该多加一行
ma(“ ”),自此,问题解决。
总结
应该更仔细观察题目,明确字符的定义。自定义函数可以快速解决一些简单的重复问题,具有效率