當前位置:首頁 » 編程語言 » c語言char數組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言char數組

發布時間: 2022-01-13 01:08:48

c語言 請問char數組該如何聲明

char數組的聲明就是直接定義一個char類型的數組。

聲明一個char型數組:
char a[N] // a為char型數組名,N為數組大小
值得注意的是:聲明必須要在調用之前,對於C語言,必須將定義的語句放在執行功能語句之前。

⑵ c語言 char數組的問題

你只輸入了c[0]和c[1]的值,沒法判斷c[6]的,如果想判斷的話和判斷c[6]一樣
if(c[5]
==
』你想判斷的字元『)就行了,注意必須是兩個等於號,一個是賦值,兩個是比較

⑶ c語言字元數組

char
temp[100]="
",中間空格算一個字元
char
c[1]=''
''定義
str[i]=c[0]不表示清空數據

⑷ C語言字元數組怎麼用

C語言的字元數組有兩種,比較方式也有所不同。
1 字元串。
C語言的字元串是用字元數組表示的。約定以'\0'(ascii碼0)作為結尾標記。
對於字元串類的字元數組,可以用string.h中的strcmp函數進行比較。
int strcmp(char *str1, char *str2);
其比較規則為:
a, 從左向右依次比較每個元素;
b, 如果出現str1的元素ascii碼比較大,則返回1;如果出現str2元素ascii碼比較大,則返回-1。如果相等,則繼續。
c, 如果一直相等,直到遇到\0,這時檢查是否均為\0,如果均為\0,那麼返回0;
d, 如果str1到\0,而str2沒到,返回-1; 否則返回1。
總結規則就是,如果str1比str2大,返回1;如果相等,返回0;如果str1小,返回-1。

2 不帶\0結束的字元數組。
對於此類數組,沒有庫函數可供使用,只能自己寫函數進行比較。規則可以仿照strcmp的規則。
由於沒有\0作為結束,所以參數中必須傳入每個數組的元素個數。
int char_array_cmp(char *s1, int l1, char *s2, int l2)
{
int lmin = l1>l2? l2:l1; //較小長度者。
int i;

for(i = 0; i < lmin; i ++)
if(s1[i] > s2[i]) return 1;
else if(s1[i] < s2[i]) return -1;

//運行到這里,表示所有已判斷元素均相等。
if(l1 == l2) return 0;
if(l1 > l2) return 1;

return -1;//l1 < l2的情況。
}

⑸ C語言字元數組

輸出LBLMNP吧。

首先strcat的函數是把a,b兩個數組連接起來,於是a數組裡面就成了ABLMNP

然後i++的值是i,也就是把i用了再加1;

於是b[1]=a[1];(b變成「LBNP")

b[2]=a[2];(b變成」LBLNP")

……

當i為6時while的條件不滿足,跳出

最後輸出b中的字元串

⑹ c語言,字元數組函數

#include<stdio.h>

/*比較兩個字元串*/
/*src、dst相等return1*/
/*src比dst短return-2*/
/*src比dst長return2*/
/*src、dst長度一致但不相等return-1*/
intstringCmp(char*src,char*dst){
if(strlen(src)<strlen(dst))
return-2;
elseif(strlen(src)>strlen(dst))
return2;
else{
while(*src&&*dst){
if(*src!=*dst)
return-1;
src++;
dst++;
}
return1;
}
}

/*合並兩個字元串*/
voidmergeString(char*str1,char*str2,char*merge){
while(*merge++=*str1++);/*復制str1並將指針移動到字元串的末尾的下一個位置*/
merge--;/*退到字元串的末尾*/
while(*merge++=*str2++);/*從末尾()的位置開始將str2拷貝進來*/
*merge='';
}

intmain(void){
char*str1_1="hel",*str1_2="lo",*merge1;
char*str2_1="ness",*str2_2="happy",*merge2;
char*str3_1="hi",*str3_2="hi",*merge3;
char*str4_1="hello",*str4_2="world",*merge4;

puts("第1組字元串:");
puts(str1_1);
puts(str1_2);

if(stringCmp(str1_1,str1_2)==1)
puts(str1_1);

elseif(stringCmp(str1_1,str1_2)==-2){
mergeString(str1_2,str1_1,merge1);
puts(merge1);
}

elseif(stringCmp(str1_1,str1_2)==2||stringCmp(str1_1,str1_2)==-1){
mergeString(str1_1,str1_2,merge1);
puts(merge1);
}

putchar(' ');
puts("======================================================");
putchar(' ');

puts("第2組字元串:");
puts(str2_1);
puts(str2_2);

if(stringCmp(str2_1,str2_2)==1)
puts(str2_1);

elseif(stringCmp(str2_1,str2_2)==-2){
mergeString(str2_2,str2_1,merge2);
puts(merge2);
}

elseif(stringCmp(str2_1,str2_2)==2||stringCmp(str2_1,str2_2)==-1){
mergeString(str2_1,str2_2,merge2);
puts(merge2);
}

putchar(' ');
puts("======================================================");
putchar(' ');

puts("第3組字元串:");
puts(str3_1);
puts(str3_2);

if(stringCmp(str3_1,str3_2)==1)
puts(str3_1);

elseif(stringCmp(str3_1,str3_2)==-2){
mergeString(str3_2,str3_1,merge3);
puts(merge3);
}

elseif(stringCmp(str3_1,str3_2)==2||stringCmp(str3_1,str3_2)==-1){
mergeString(str3_1,str3_2,merge3);
puts(merge3);
}

putchar(' ');
puts("======================================================");
putchar(' ');

puts("第4組字元串:");
puts(str4_1);
puts(str4_2);

if(stringCmp(str4_1,str4_2)==1)
puts(str4_1);

elseif(stringCmp(str4_1,str4_2)==-2){
mergeString(str4_2,str4_1,merge4);
puts(merge4);
}

elseif(stringCmp(str4_1,str4_2)==2||stringCmp(str4_1,str4_2)==-1){
mergeString(str4_1,str4_2,merge4);
puts(merge4);
}

putchar(' ');
puts("======================================================");
putchar(' ');

getch();/*屏幕暫留*/
return0;
}

運行結果

⑺ c語言 關於字元數組的定義

#include<stdio.h>

#include<string.h>

#define max 20

typedef struct {

int edges[max][max];

int n,e;

char vexs[max][1];

} MatGraph;

void CreatVer(MatGraph *g)//首先你要是想在自定義中改變變數,必須通過地址訪問變數;形參必須是指針變數;

{//參數是變數值的,只是在對變數的一個副本操作,不會改變變數值;

char a[]="abcdefg";

for(int i=0;i<7;i++)

g->vexs[i][0]=a[i];

}

main()

{

MatGraph g;

CreatVer(&g);

for(int i=0;i<7;i++)

putchar(g.vexs[i][0]);

}

⑻ C語言字元數組

字元數組是指用來存放字元數據的數組。其定義的一般形式為: char 數組名[數據長度] 。字元數組用於存放字元或字元串,字元數組中的一個元素存放一個字元,它在內存中佔用一個位元組。C語言中沒有字元串類型,字元串是存放在字元型數組中的。

⑼ C語言怎樣給字元數組賦值

1、單字元賦值,可通過數組下標方式或指針方式,引用數組元素,進行賦值。

例子:

char a[10];

char ch='a';

for( i=0;i<10;i++ )

a[i]=ch+i ; //可通過數組下標引用數組元素,完成賦值

char *p;

for( p=a; p<a+10; p++ )

*p=ch++; //通過指針對數組相應元素賦

2、字元串賦值,可使用string.h頭文件中的字元串操作函數進行賦值。

例子:

char a[10];

strcpy( a, "abcdefgh");

sprintf(a, "%s", "abcdefgh");

(9)c語言char數組擴展閱讀:

C語言給字元數組賦值的優點:

1、簡潔緊湊、靈活方便

C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。

2、運算符豐富

C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。