A. c語言 怎麼把字元數組中的字元賦值給字元變數
第一種寫法,等同於char a[10] = {"abc"};
第一種寫法,用一個字元串賦值,實際上保存了4個位元組(包含字元串結束符)。
第二種寫法,只賦值了三個位元組。
1、char c[5];
c[0]=』H』; c[1]=』e』; c[2]=』l』; c[3]=』l』; c[4]=』o』;
2、charc[5]={『H』,』e』,』l』,』l』,』o』};
3、(1)如果在定義字元數組時不進行初始化,則數組中各元素的值是不可預測的;
(2)如果花括弧中提供的初值個數(即字元個數)大於數組長度,則按語法錯誤處理;
(3)如果花括弧中提供的初值個數(即字元個數)小於數組長度,則只將這些字元賦給數組中前面那些元素,其餘的元素自動定為空字元(即『\0』);
4、(如何將字元串賦值給字元數組)
C語言中,將字元串作為字元數組來處理的。C語言規定了一個「字元串結束標志」,以字元』\0』作為標志。為此,再對字元數組初始化的方法補充一種用字元串常量來使字元數組初始化方法:
char c[] = {「Hello」};
或 char c[] =「Hello」; 注意:數組c的長度不是5,而是6.
上面的初始化等價於:char c[5]={『H』,』e』,』l』,』l』,』o』,』\0』};
而不等價於:charc[5]={『H』,』e』,』l』,』l』,』o』};
5、字元數組的輸出
char c[] ={「Hello」};
printf(「%s」,c);
6、(如何將字元串賦值給字元數組)
strcpy(字元數組1,字元串2)
eg: char str1[10]=』』, str2={「Hello」};
strcpy(str1,str2);
執行後str1狀態為:
H
e
l
l
o
\0
\0
\0
\0
\0
(1)「字元數組1」必須寫成數組名形式(如str1),「字元串2」可以是數組名,也可以是字元串常量。eg strcpy(str1, 「Hello」);
(2)不能用賦值語句將一個字元串常量或字元數組直接給一個字元數組。如下面兩句都是不合法的:str1=」Hello」;
str1=str2;
而只能用strcpy函數將一個字元串復制到另一個字元數組中去,賦值語句只能將一個字元賦給一個字元型變數或者字元數組元素。如下面的語句是合法的:
char c[5],c1,c2;
c1=』A』;c2=』B』;
c[0]=』H』; c[1]=』e』; c[2]=』l』; c[3]=』l』; c[4]=』o』;
7、strlen函數是測試字元串實際長度(不包含『\0』在內)的函數。
char c[10]=」Hello」』
printf(「%d」,strlen(c)); 或者Printf(「%d」,「Hello」); 輸出為5
B. C語言中怎麼字元串賦值
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
C. C語言中將字元串賦值給字元數組的問題
char s[20];s="helo";這樣錯誤的原因就是:不能用賦值語句將一個字元串常量直接給一個字元數組賦值。
char s[20];
char ss[]="hello";
s=ss;錯誤原因是:不能用賦值語句將一個字元數組直接給一個字元數組賦值
,即字元串的復制(c語言中,但是在c++的string 類,上面的賦值是正確的)必須用strcpy()函數實現。
而char a[ ]=」toyou「;正確的原因是:因為在聲明數組變數的時候就是,為其開辟空間,並為其初始化,這樣才是符合c語言語法的。
D. C語言 字元串賦值
char
string[500]="abcdefg";
這個就是說你在給一個數組賦值
但是如果你定義完數組以後又這樣
string[500]="abcdefg";
就是說你在給數組里的第500個元素賦值
首先數組下標最大是499
沒有500
其次
只能存放一個字元你確放了一個字元串
當然不對了
E. 怎樣在C語言中修改字元串的一個字元的值
根據字元串存儲的變數的不同,方法不同,參考代碼:
存儲在char數組中(支持C/C++)
char
str[]="hello"
;
int
i;
for(
i=0;str[i];i++
)
printf("%c\n",
str[i]
);
//以數組方式引用一個字元:str[i]
for(
i=0;*(str+i);i++
)
printf("%c\n",
*(str+i)
);
//以指針方式引用一個字元:*(str+i)
存儲在string中(僅支持C++)
string
str="abcde";
for(string::iterator
iter
=
s.begin();
iter!=s.end();
iter++)
//使用迭代器
{
cout<<*iter<<endl;
}
cout<<endl;
for(
int
i=0;i<s.length();i++
)
{
cout<<s[i]<<endl;
//使用數組方式調用,得到單個元素
}
F. C語言關於字元串的賦值。
你要搞清一個事
char
a='b',有『』(表示賦值的值是字元型的),所以是把字元b賦給a,char
a=
66,沒有『』,所以是把66賦給a,但是a是字元型的,所以把66轉換為字元型輸出(即字元B)
char
c=0x41;(16進制)
char
c=65;
(十進制)
char
c=o101;(8進制)
上面三個實際上是發生了轉換
G. C字元串賦值
字元串不能這樣賦值
*str其實和str[0]是等效的
另外str是數組,所以這個指針是常量,所以也不能使用類似str="asdf";的方式進行賦值。
你可以用<string.h>中的strcpy()函數,該函數會自動添加\0
#include<stdio.h>
main()
{
char str[40];
strcpy(str,"aldkjflakdsjfalkfj");
puts(str);
}