0. 前言
在大学的企业微信中 “惊奇地” 发现需要学 C 语言,然后才恍惚我这三个月一点编程语言没学,于是痛心疾首地开启了我的 C 语言入门到入土的学习,正好有个博客,我会把我的学习心得整理在这里供我自己查阅,如果你看见了并且对你有帮助,那么我会很高兴又帮助了一个人 qwq
之前先学的是 C 嘎嘎,所以我有时会写点 C 和 C 嘎嘎容易混淆的地方
我不会写目录,所以凑合看吧 qwq
1. 关于 char
在 C 嘎嘎中,如果要存储字符串,我们会用
CPP
std::string str = "abcd";但是在 c 中,'char' 既可以存字符也可以存字符串,如果要存字符串
C
char str[] = "abcd"之前我一直喜欢把字符串当作数组,按照 c 这样写,让我更加理解了
2. 关于 printf
2-1. 获取字符长度的技巧
'printf ()' 会向标准输出打印 '""' 中的字符,但是这个函数调用会返回字符的长度 (前提是字符没有空格,否则只会返回第一个空格之前的字符长度),于是
C
int a = printf("Hello");其中 'a'的值就是'5'
如果字符里面含有空格,可以用 'fgets' 获取整行长度,如果是在
C
fgets(str,sizeof(str),stdin) //str是变量名,sizeof(str)是变量str的大小,stdin是从标准输入中读取C 嘎嘎中使用'std::getline' 语法,不需要传入变量大小,并且会丢掉换行符,在 C 中需要我们自己删
示例代码
目标: 键盘输入一个字符串,编写代码获取字符串的长度并输出
如果是 C 语言
C
... char str[] = {0}; //初始化一个str字符串变量 fgets(str,sizeof(str),stdin); //从键盘上读取整行(包括换行符),传给str str[strcspn(str, "\n")] = '\0'; //把str中的换行符替换成结尾符 int length = strlen(str); //把str的字符串总数传给length printf("%i",length);...如果是 C 嘎嘎
CPP
... std::string str; //动态扩容 std::getline(std::cin ,str); //从键盘上读取整行,传给str std::cout << str.length() //输出str的长度...这个时候 C 嘎嘎在写代码方面的优越性就体现出来了
如果觉得不错,请我喝杯奶茶吧~
- 本文链接: https://mkconlife.gitee.io/article/9796/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。



