c語(yǔ)言怎么給字符串賦值

小億
292
2023-08-18 18:29:26

在C語(yǔ)言中,給字符串賦值可以使用以下兩種方法:

  1. 使用字符數(shù)組賦值:可以直接使用賦值運(yùn)算符(=)將一個(gè)字符數(shù)組賦值給另一個(gè)字符數(shù)組。
#include <stdio.h>
int main() {
char str1[10]; // 定義一個(gè)大小為10的字符數(shù)組
char str2[10] = "Hello"; // 使用賦值運(yùn)算符直接給字符數(shù)組賦值
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;
}

輸出結(jié)果為:

str2: Hello
str1: Hello
  1. 使用字符串常量賦值:可以直接將一個(gè)字符串常量賦值給字符數(shù)組。
#include <stdio.h>
int main() {
char str[10]; // 定義一個(gè)大小為10的字符數(shù)組
str = "Hello"; // 直接將字符串常量賦給字符數(shù)組
printf("str: %s\n", str);
return 0;
}

但是這種方法是錯(cuò)誤的,會(huì)導(dǎo)致編譯錯(cuò)誤。因?yàn)樵贑語(yǔ)言中,字符串常量是不可修改的,而字符數(shù)組是可以修改的。上面的代碼試圖將一個(gè)字符串常量賦給一個(gè)字符數(shù)組,相當(dāng)于將一個(gè)不可修改的值賦給一個(gè)可修改的變量,是錯(cuò)誤的。

所以,在C語(yǔ)言中給字符串賦值,推薦使用字符數(shù)組賦值的方法。

0