在给指针变量处理字符串时可以直接给指针赋值为字符串常量也可以通过gets函数?

如题所述

在 C 语言中,可以使用 char * 指针变量来处理字符串。
你可以直接给指针赋值为字符串常量。例如:
char *str = "Hello World!";
这样做可以将字符串常量 "Hello World!" 赋值给指针变量 str。但是这样做并不能修改字符串常量的内容。
你也可以使用 gets 函数从标准输入(通常是键盘)读入字符串,并将其赋值给指针变量。例如:
char str[100];
gets(str);
这样做会将从键盘输入的字符串赋值给指针变量 str。但是 gets 函数已经被废弃,不建议使用。建议使用 fgets 函数来读入字符串。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-12

    直接用字符串常量赋值给指针变量,例如:char * str = "http://c.biancheng.net";

    用字符数组初始化指针变量,例如:char str[10] = "hello"; char * p = str;

    用strcpy函数将字符串复制到指针变量所指向的内存空间,例如:char a[10]; strcpy(a, "hello");

    用gets函数从键盘输入字符串到指针变量所指向的内存空间,例如:char a[10]; gets(a);

    注意:直接用字符串常量赋值给指针变量时,不能修改字符串的内容,否则会出错;而其他三种方法可以修改字符串的内容。

相似回答