解题思路:
一个C语言初学者的学习心得,在学习的过程,我们不应该单纯地看着某一道题来解决单一的问题,应该学会举一反三,思考一个通用规律,面向对象解决问题比面向结果解决问题更重要。
下面,是我在探索关于字符串的转换问题的一些想法,如果有错,也希望大佬们指出我所说的一些错误。
我在解题中用到了gets()函数,之所以不用scanf,我自己查了一下:
(1) gets() 可以接收空格、Tab键, 碰到回车键输入才结束;而scanf碰到空格、回车、Tab键 都会结束输入。
(2) gets() 和scanf() 都不能检测越界。注意事项:
再者也是我认为使用scanf还需要多一个循环,比较麻烦;
还有一个就是使用了strken()函数,为什么呢
我在想,如何输出的问题,所以我使用这个函数把字符串的长度计算出来,就可以实现有多少个字符就循环多少次,不至于浪费时间。
然后,回归到最基本的,ASCLL码,我们知道字符在码中都有对应的数字表示,所有,转换时可以直接相加。
参考代码:
#include<stdio.h>
#include<string.h>
#define N 100
int main()
{
int i,a;
char ch[N];
gets(ch);
a = strlen(ch);
for(i=0;i<a;i++){
printf("%c",ch[i]+4);
}
return 0;
}
0.0分
7 人评分