c语言怎么给字符串赋值

655Z技术栈 C/C++编程 20小时前 3

在C语言中,给字符串赋值可以使用以下两种方法:

  1. 使用字符数组赋值:可以直接使用赋值运算符(=)将一个字符数组赋值给另一个字符数组。
#include <stdio.h> int main() { char str1[10]; // 定义一个大小为10的字符数组 char str2[10] = "Hello"; // 使用赋值运算符直接给字符数组赋值 printf("str2: %s\n", str2); // 将str2的值赋给str1 for (int i = 0; i < 10; i++) { str1[i] = str2[i]; } printf("str1: %s\n", str1); return 0; }

输出结果为:

str2: Hello str1: Hello
  1. 使用字符串常量赋值:可以直接将一个字符串常量赋值给字符数组。
#include <stdio.h> int main() { char str[10]; // 定义一个大小为10的字符数组 str = "Hello"; // 直接将字符串常量赋给字符数组 printf("str: %s\n", str); return 0; }

但是这种方法是错误的,会导致编译错误。因为在C语言中,字符串常量是不可修改的,而字符数组是可以修改的。上面的代码试图将一个字符串常量赋给一个字符数组,相当于将一个不可修改的值赋给一个可修改的变量,是错误的。

所以,在C语言中给字符串赋值,推荐使用字符数组赋值的方法。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”