uq_96643382197


私信TA

用户名:uq_96643382197

访问量:903

签 名:

等  级
排  名 13426
经  验 871
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

一个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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

话说那个是叫ASCII码来着...
2023-10-24 16:48:56
  • «
  • 1
  • »