當前位置:首頁 » 編程語言 » c語言給char數組賦值

c語言給char數組賦值

發布時間: 2022-09-01 17:46:12

c語言getchar()對字元數組賦值的過程是怎麼呢

getchar()按順序從緩沖區讀走一個字元,相當於清除緩沖區,每讀取一次緩沖區少一個字元,
例如:鍵盤輸入數據 1 2 3 4 5 回車
輸入緩沖區中數據:1 2 3 4 5 回車
點擊回車後,getchar()開始從緩沖區中讀取字元,一次讀取一個
第一次 getchar() = '1', 緩沖區數據還有:2 3 4 5
第二次 getchar() = '2', 緩沖區數據還有:3 4 5
第二次 getchar() = '3', 緩沖區數據還有:4 5
...
直到緩沖區中的數據被讀取完
int i=0; //初始化
while( (a[i++]=getchar()) != '#')
的過程相當於
do
{
a[i] = getchar();
i++;
}
while(a[i-1] != '#') //這個地方懂吧

希望對你有幫助!!

② 請問C語言 char類型的指針要怎麼賦值

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *source = malloc(20*sizeof(char);
printf("Please input source \n");
scanf("%s",source);//f方法三
printf("%s\n",source);
char *temp = "my input source"
sprintf(source,"%s",temp);//方法一
printf("%s\n",source);
strcpy(source,temp);//方法二
printf("%s\n",source);
return 0 ;
}
指針是無法存放字元串的,只有指針指向的那塊空間才能存放字元串,所以我第一句話給它開辟了20個空間,這樣就可以給指針指向的那塊空間賦值了,謝謝
另外給你一個建議 char *a = NULL,*b =NULL,*c =NULL;這樣的寫法是不規范的,很容易出錯。標准形式應該是char *a= NULL;
char *b = NULL;
char *c = NULL;

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

(3)c語言給char數組賦值擴展閱讀:

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

1、簡潔緊湊、靈活方便

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

2、運算符豐富

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

④ C語言中給char類型的數組賦值,為什麼只能用strcpy而不能直接用=來賦值然後好像在初始化的

是的 初始化的時候可以 char[4] s="abc";
後面賦值只能 strcpy(s, "abc");

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

st.name="123"; 非法,常量字元串不能直接賦值給字元數組,因為st.name 地址是確定的,不能再改了。 char name[10]="123";可以的,定義時,進行初始化字元數組。

⑥ c語言char數組賦值

sprintf(s,"他是一個%dB",i);

⑦ C語言求助:給char某個位置賦值

1,定義 char 為"aaaaaa" ——這已經錯了
可以說定義 char [] a="aaaaaa"; 是字元數組
2、要改變字元數組某元素的值,直接給該元素賦值
a[1]='b';

~
~
~
~
~
~

⑧ C語言一個給char類型數組賦值問題。

輸出的時候用

inti=0;
for(i=0;i<10;i++){
printf("a[%d]=%c ",i,a[i]);
}

防止緩沖區溢出可以用這樣的:

fgets(a,sizeof(a),stdin);
a[strlen(a)-1]='';
熱點內容
中國銀行查詢密碼是什麼 發布:2025-01-16 02:33:20 瀏覽:791
堅果pro錄音文件夾 發布:2025-01-16 02:31:46 瀏覽:938
支付寶的登錄密碼忘記了如何改 發布:2025-01-16 02:30:30 瀏覽:221
解壓作業泥 發布:2025-01-16 02:28:02 瀏覽:806
我的世界rpg伺服器空島 發布:2025-01-16 02:26:49 瀏覽:90
ps腳本函數 發布:2025-01-16 02:15:28 瀏覽:480
android顯示行數據 發布:2025-01-16 02:07:40 瀏覽:963
壓縮皇冠 發布:2025-01-16 01:51:27 瀏覽:274
全鍵盤編程鍵盤 發布:2025-01-16 01:38:59 瀏覽:422
尾貨棉服直播間腳本 發布:2025-01-16 01:21:45 瀏覽:228