在C語(yǔ)言中,給字符串賦值可以使用以下兩種方法:
#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
#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ù)組賦值的方法。