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

c語言串數組賦值

發布時間: 2022-07-12 02:57:37

1. c語言數組賦值

char
ch[7]={"65ab21"}就是字元數組賦初值,類似於
char
ch[7]={'6','5','a','b','2','1','\0'};
s=10*s+ch[i]-'0'的意思是把字元串轉化位數字,比如說"123",它是字元串,轉化為數字123,ch[i]-'0'就是把數字字元與零字元的acsii碼相減,得到數字字元相應的數字,比如'5'-'0'=5

2. c語言數組賦值問題

我不清楚你想問什麼,不過第二種寫法是對的。
char chars[11];//是定義了一個初始值為空總數為11的字元數組。
char s[] = "c language";//定義一個總數為11的字元數組,但是有初值。注意是11個不是10個,用這種方定義的字元數組末尾會加一個\0。
數組的賦值通常是使用花括弧來表示的,但是字元數組比較特殊,它可以使用字元串來賦值,當然你也可以使用通用的方式,用花括弧來賦值,如{'c', ' ', 'l', 'a'.....}。

3. 怎麼進行字元串賦值C語言

在C語言中,字元串的賦值主要有兩種方法,第一種是通過指針的方式直接賦值,第二種是通過數組直接賦值。

1、指針式賦值。

4. c語言結構體中的一個char數組怎麼賦值

(1)用字元常量逐個初始化數組。例如:

char a[8]={'i','l','o','v','e','y','o','u'};

把8個字元依次分別賦給c[0]~c[7]這8個元素。

如果在定義字元數組時不進行初始化,則數組中各元素的值是不可預料的。如果花括弧中提供的初值個數(即字元個數)大於數組長度,則出現語法錯誤。

如果初值個數小於數組長度,則只將這些字元賦給數組中前面那些元素,其餘的元素自動定為空字元(即'')。

如果提供的初值個數與預定的數組長度相同,在定義時可以省略數組長度,系統會自動根據初值個數確定數組長度。

例如:char c[]={『c』,『』,『p』,『r』,『o','g','r','a','m'};

這時c數組的長度自動定為9。也可以定義和初始化一個二維字元數組,例如:

char diamond[5][5]={{'','','#'},{'','#','','#'},{'#','','','','#'},

{'','#','','#'},{'','','#'}};用它代表一個菱形的平面圖形。

(2)字元串常量初始化數組。例如:

char c[]={『c』,『』,『p』,『r』,『o','g','r','a','m'};

可寫為:char c[]={"C program"};

或去掉{}寫為:char c[]="C program";

注意:此時數組c的長度不是9,而是10。因為字元串常量的最後由系統加上一個''。上面的初始化與下面的初始化等價。

char c[]={『c』,『』,『p』,『r』,『o','g','r','a','m',''};

(4)c語言串數組賦值擴展閱讀:

其定義的一般形式是:char數組名[數據長度]

例如:

char c[10];

c[0]='I';c[1]='';c[2]='l';c[3]='o';c[4]='v';c[5]='e';c[6]='';c[7]='y';c[8]='o';c[9]='u';

以上定義了c為字元數組,包含10個元素。

由於字元型數據是以整數形式(ASCII代碼)存放的,因此也可以用整型數組來存放字元數據,例如:

int c[10];

但這時每個數組元素佔2個位元組的內存單元,浪費存儲空間。

字元數組也可以是二維或多維數組,例如:

char c[5][10];

即為二維字元數組。

初始化

字元數組的初始化與數值型數組初始化沒有本質區別。但它除了可以逐個給數組元素賦予字元外,也可以直接用字元串對其初始化。

輸入輸出

字元數組的輸入

(1)用getchar()或scanf()的'%c'格式符對數組進行字元賦值。例如,對於數組a[10]:用getchar()賦值:

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

a<i>=getchar();

用scanf()賦值:

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

scanf("%c",&a<i>);

(2)用scanf()的'%s'格式對數組賦值。還是對於數組a[10]:

scanf("%s",a);

scanf("%s「,&a[0]);

輸入」C program「並回車時,a數組會自動包含一個以」「結尾的字元串」C program「。

字元數組的輸出

(1)用putchar()或printf()的『%c』格式符對數組進行字元賦值。例如,對於數組a[10]:用putchar()賦值:

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

a<i>=putchar();

用printf()賦值:

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

printf("%c",a<i>);

輸出結果為:

c program

(2)用printf()的'%s'格式對數組賦值。還是對於數組a[10];

printf("%s",a);

輸出結果為:

c program

5. C語言里如何把輸入字元串賦值給字元數組

char
c[10];
//c是數組名,代表數組的首地址。要是想讓數組中存放一個字元串,只需知道首地址即可。所以可以用scanf("%s",c);因為c本身就是地址,所以不用加&
char
*s;
//s是指針變數,指針可以存放一個地址值
s="abcde";
//c語言中字元串常量是以數組的形式在內存中存放,這條賦值語句,相當於是把abcde的首地址賦給了指針變數s
char
s;
//s是一個字元變數,只能給其賦一個合法的字元

6. c 語言字元串數組之間怎樣賦值

給字元數組賦值分兩種情況,單字元賦值和字元串賦值。

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

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++; //通過指針對數組相應元素賦值
字元串賦值,可使用string.h頭文件中的字元串操作函數進行賦值,如:

char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:數組在定義時,可以同時進行初始化,但定義完成後,就不能按初始化的形式對其賦值了,如:

char a[10]="abcdefgh"; //這樣可以
a="abcdefgh"; //這樣是錯誤的!a是數組名,是一個靜態數據:數組首地址值,可以看作是個常數,不能再被改變。

7. 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");

(7)c語言串數組賦值擴展閱讀:

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

1、簡潔緊湊、靈活方便

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

2、運算符豐富

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

8. C語言,結構體中的數組怎麼賦值,

intmain(void){

structstudentsbao={};

printf("%d,%s ",bao.id,bao.name);//輸出是4224528,空(應該是null)

//structstudentsbao={3,"123"};可以。第一種賦值方法

//strcpy(bao.name,"bao");//可以,

//printf("%d,%s ",bao.id,bao.name);

//bao.name="bao";錯誤「stray'351'inprogram」其他是亂碼,

//bao.name[0]='a';

//bao.name[0]='/0';

//printf("%d,%s ",bao.id,bao.name);

/*這樣可以,*/

//chararr[10]="baobao";

////bao.name=arr;//error""

//scanf("%s",bao.name);//可以,

//printf("%d,%s ",bao.id,bao.name);

//所以scanf那一類函數都可以。

//還有就是memcpy函數也是可以的

return0;

}

(8)c語言串數組賦值擴展閱讀

C語言結構體數組的直接賦值及數組的長度計算:

#include<stdio.h>

//自定義一個字元串的結構體,包含字元串和字元串長度兩個變數

typedefstructStr{

charch[100];

intlength;//char數組(字元串)的長度

}myStr;

//剛開始聲明變數時每個變數的字元串長度length都為0

//這里以長度為10的數組為例,數組長度是1000

//對第0個到第9個結構體數組的長度同時賦值為0

myStrmyStr1[10]={

[0...9]={

.length=0,

}

};

intmain(){

inti;

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

printf("%d ",myStr1[i].length);

}

return0;

}