在C語言中,給字符串賦值可以使用以下兩種方法:
#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
#include <stdio.h>
int main() {
char str[10]; // 定義一個大小為10的字符數組
str = "Hello"; // 直接將字符串常量賦給字符數組
printf("str: %s\n", str);
return 0;
}
但是這種方法是錯誤的,會導致編譯錯誤。因為在C語言中,字符串常量是不可修改的,而字符數組是可以修改的。上面的代碼試圖將一個字符串常量賦給一個字符數組,相當于將一個不可修改的值賦給一個可修改的變量,是錯誤的。
所以,在C語言中給字符串賦值,推薦使用字符數組賦值的方法。