c语言

c语言怎么给字符串赋值

小亿
327
2023-08-18 18:29:26
栏目: 编程语言

在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语言中给字符串赋值,推荐使用字符数组赋值的方法。

0
看了该问题的人还看了