公司建网站找哪家,安徽省建设工程质量安全监督总站网站,网站开发培训机构哪个好,贷款app定制开发目前主要分为三个专栏#xff0c;后续还会添加#xff1a; 专栏如下#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读#xff01;
初来乍到#xff0c;如有错误请指出#xff0c;感谢#xff01; 描述
键盘输入一个字符串… 目前主要分为三个专栏后续还会添加 专栏如下 C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读
初来乍到如有错误请指出感谢 描述
键盘输入一个字符串编写代码获取字符串的长度并输出要求使用字符指针实现。
输入描述
键盘输入一个字符串
输出描述
输出字符串的长度 思路
创建一个数组用来存放打印的字符
进行函数的调用
将数组的首字符地址传入进指针里
接着由while循环来判断是否读取到 \0
因为 \0 是数组结束的标志
然后使用计数器
来计数 代码 1
#define _CRT_SECURE_NO_WARNINGS
# include stdio.hvoid get_line(char* p) // 将arr的首字符的地址传进了函数
{int count 0; //用来计数 判断有多少个字符while (*p ! \0) //用来判断 当 *p 不为\0 的时候 //就进入while循环来判断 有多少个字符//当*p为\0的时候 就不进入了 说明 字符已经寻找完了{count;}printf(%d, count);
}int main(){char arr[100] {0};//字符数组 初始化scanf(%[^\n], arr);//%[^\n]的意思是在遇到回车之前不断输入get_line(arr);//将数组传递给 get_line 函数里面去return 0;
} 代码 2
#includestdio.h
int main()
{ char *a;//先定义个字符指针char a1[100]{0};scanf(%[^\n],a1);//%[^\n]的意思是在遇到回车之前不断输入aa1;//将已输入的数组的地址交给字符指针int cnt0;while(*a!\0){//当*a不等于0时即数组还没有到最后一项时让计数器记录起来cnt;a;//让指针指向字符数组的下一项}printf(%d,cnt);return 0;
}
代码 3
#include stdio.h
#include string.hint my_strlen(char *arr, int sz) {
// char *p arr;int cnt 0;int count 0;while (*arr ! \0) {arr;cnt;}
// for (int i 0; i sz; i) {
// if (arr[i] ) {
// count;
// }
// }return cnt;
}int main(void) {char arr[20] {0};scanf(%[^\n],arr);int sz sizeof(arr) / sizeof(arr[0]);int ret my_strlen(arr, sz);printf(%d, ret);return 0;
}
代码 4
#include stdio.hint main() {char str[100]; // 假设输入的字符串不会超过99个字符char *ptr str; // 初始化字符指针指向字符串的开始位置int length 0; // 初始化长度计数器// 从键盘读取字符串scanf(%99s, str); // 限制输入长度防止缓冲区溢出// 使用字符指针遍历字符串并计算长度while (*ptr ! \0) {length; // 每次循环增加长度计数器ptr; // 移动指针到下一个字符}// 输出字符串的长度printf(%d\n, length);return 0;
} 知识点 指针定义指针是一个变量其存储的是另一个变量的内存地址。 指针变量声明使用 type *var_name; 的形式声明一个指针变量其中 type 是指针指向的数据类型。 指针初始化指针变量应该被初始化为一个有效的地址或者 NULL。 地址操作符 用于取得变量的内存地址。 解引用操作符 *用于访问指针指向的内存地址中存储的值。 指针的算术可以对指针进行加法和减法操作指针的值会按照所指向数据类型的字节大小进行增减。 指针与数组数组名在大多数表达式中会被解释为指向数组首元素的指针。 指针数组一个数组其元素都是指向相同或兼容类型的指针。 函数指针指针可以指向函数这样就可以通过指针调用函数。 动态内存分配使用 malloc、calloc、realloc 和 free 等函数在堆上动态分配和管理内存。 指针与字符串在C语言中字符串字面量存储在只读内存中字符串的末尾以空字符 \0 结束。字符串可以通过字符数组和字符指针来处理。 指针类型转换可以使用类型转换操作符 (type *) 将一个指针转换为另一种类型的指针。 空指针 NULL一个指针可以被赋予 NULL 值表示它不指向任何地址。 指针的指针可以定义一个指向指针的指针这在处理多维数组或动态数据结构时非常有用。 指针与结构体指针可以用来访问和操作结构体中的成员。 指针的比较可以比较两个指针是否相等或不等或者它们所指向的地址的大小。 指针数组和多维数组指针数组可以用来模拟多维数组每个指针指向一个一维数组。 指针安全指针操作需要小心不当的指针使用可能导致程序崩溃或安全漏洞。 指针与引用传递在函数中通过指针传递参数可以避免复制大的数据结构提高效率。 指针常量与常量指针指针常量是一个指针其值不能改变常量指针是一个指向常量的指针它指向的值不能改变。 知识点先列举这么多指针知识点比较复杂
待我写博客来慢慢详细叙述。