c語言問題高手幫忙字元陣列問題空字元是空

2021-12-19 13:45:21 字數 2807 閱讀 2866

1樓:金色潛鳥

空字元'\0' 用 %c 形式輸出,是一個空格。

空字元'\0' 用 %d 形式輸出,是一個數字 0。

空格字元 ' ' 用 %c 形式輸出,是一個空格。

空格字元 ' ' 用 %d 形式輸出,是一個數值32。

'\0' 是字串結束標記,strlen(c) 長度計算,只計算到 '\0' 以前那個字元。

'\0' 是字串結束標記,%s輸出 只輸出到 '\0' 以前那個字元。

**********=

'\0', ' ' 的不同,我們用下面輸出方法可以看出。

#include

int main()

2樓:玩n膩

第二個輸出 i<5,輸出a[0]-a[4] 那後面那三個』\0『 就是空格

至於%s 輸出沒有 空('\0') 那是因為 字串遇到\0 就視為字串結束

\0 是空而非空格 空格的asiic碼是32 \0的asiic碼是0

3樓:

%s 使用string格式輸出····的c裡面字串格式的比如『acacaca』

長度是8最後一位是\0···表示字串結束··還有\0代表的是空·····

4樓:傲血孤雲

\0 是0x00 不是空格 空格是0x20 \0意思是字串結束

c語言問題,求高手幫忙!! 20

5樓:

1.輸入輸出問題,在輸入整數或浮點數後面直接輸入字元或字串,要清除一下回車號,或都在輸入整數後直接清空快取,再讀取內容

2.越界問題,修正問題1後,如果記憶體裡沒有連繼的'\0'字元,你這程式會嚴重越界:

語句 k=j+1;

前加一句

if(c[j]==0) break; //到尾就不要再迴圈了,防止越界

改完後的效果就是逐個把行首的單詞換成空格輸出,試驗如下:

2dfdfj asfasd adasd ad adsad adadasfasd adasd ad adsad adadadasd ad adsad adad

ad adsad adad

adsad adad

adad

adad

adasda dd fsfs swdsddd fsfs swdsd

fsfs swdsd

swdsd

swdsd

右對齊的,一貼上來就不齊了,算了吧

6樓:有心不遲

請問下你這個函式的目的是什麼?while(n)的目的是用來控制可以輸入幾個c陣列資料是嗎?怎麼感覺你這個函式的目的是要把這個c陣列給變空的字串,不知道我理解你的意思了是不?

7樓:夜神月

經過測試發現。gets(c)這個函式,把 回車 都當做是輸入一次了,如果你先輸入2,按2下回車都跳出了,輸入3,按3下回車就輸出

8樓:

scanf("%d",&n);後面加上 scanf("%c",&ch);

9樓:匿名使用者

你的輸入語句在迴圈之外吧~

10樓:劉海蛟

這c語言學的 。條件好亂啊

哪位高手幫忙解決些c語言問題,跪求!!!

11樓:明_少

1、b2、a

3、c4、c

12樓:匿名使用者

) 測字元陣列ch的長度

b) 將數字字串ch轉換成十進位制數

c) 將字元陣列ch中的小寫字母轉換成大寫d) 將字元陣列ch中的大寫字母轉換成小寫4、設有以下定義語句

char str1="string",str2[8]="02";

char str3[10]="03",str4="string";

則下面對函式strcat的呼叫中,正確的呼叫是________。

(此函式用來連線字串)

a) strcat(str1,"hello1"); b) strcat(str2

c語言 出現空指標賦值怎麼回事???請高手幫忙看下。

13樓:

是編譯器報的空指標賦值吧?主要原因:作者沒有搞清楚c中的全域性變數和區域性變數的問題。

1。zts[35];point1[35];point2[35];x1[35]這四個陣列在main()中有,在四個子函式中有,各是各的,互不干涉,所以main()中的這四個陣列始終沒有被賦值過,空指標指的就是這個吧。

2。應該把這四個陣列的首地址作為四個read()的引數傳過去,就可以實現:「在子函式中賦值,在main函式中使用」 的設計目的了。看程式,感覺作者就是這個目的吧。

3。 魔尊8 說的有一定道理,這四個read確實沒有起到應有的作用。加上陣列首地址做引數就可以了。或者把這四個陣列做成全域性變數也行啊。

4。作者有時間的話還是應該好好看看c語言的書啊。

14樓:匿名使用者

所謂的 空指標賦值

是不是fp=fopen("zhuangtai.txt","r");

fopen返回的是指標,把檔案的地址傳給了fp

15樓:魔尊

readtxt1();

readtxt2();

readtxt3();

readtxt4();

沒有仔細研究,不過首先我認為你這四個函式呼叫就有問題,根本就沒有返回任何值,就跟沒有呼叫一樣。

C語言陣列問題

退格換行吧 為了陣列輸出是5行5列啊 陣列是從a 0 開始記的 所以到a 4 就有5個了 程式中i控制行,j控制列,5行5列的矩陣,要在j 4時換行,if j 5 4 的意思是當j除以5的餘數為4時,執行後面的語句。在這裡 j 5 4等價於j 4 j從0開始數,數到4就剛好是5個數了。當j 5 4的...

C語言陣列相加,關於c語言的兩陣列相加問題

m str j str strlen str j 1 rem 改成m str j 0 str strlen str j 1 0 rem 或m str j 48 str strlen str j 1 48 rem 就行了 字元型的數字換成整形的減掉 0 就可以 也就是減48 include stdio...

c語言的字元個數問題

在scanf c x while x n 的前面應該加一個do 不然就不能迴圈了啊.include main char x int a 0,b 0,c 0,d 0 scanf c x 這樣寫就x只能儲存一個字元.按回車結束輸入.while x n x n 也有問題.你要實現什麼功能能說一下嗎?在幫你...