關於字串輸出的問題

2021-12-16 15:05:18 字數 1777 閱讀 4172

1樓:小遠爸爸教程式設計

資訊學奧賽 1133-輸出親朋字串

2樓:

假定 a 是一維陣列

printf("%s",a[i]); 它的輸出是從 a 中 第 i 號字元開始輸出,直到字串結束符 '\0' 輸出結束。

printf("%c",a[i]); 它只輸出一個字元 -- a 中 第 i 號字元,不輸出其它。

輸出字串陣列 用 %c 要迴圈: for (i=0;i

用 %s 不要迴圈, printf("%s",a); 就可以了。

----------

對於2維陣列a[n][m],

a[i] 是第i 行字串

printf("%s",a[i]); 就列印第i 行字串,直到字串結束符。

for (i=0;i

用 %c 要 雙重迴圈

for (i=0;i

printf("\n"); // 滿一行了,輸出一個換行。};

3樓:匿名使用者

%s 輸出的是字串,%c 輸出的是字元,

a一維時啊a[i]是字元,用%c 二維是a[i]是字串所以用%s 了。

總之,遵循%s 輸出的是字串,%c 輸出的是字元。

4樓:

char是宣告語句

char x;是指宣告的變數是一個字元

char [40]; 是指宣告的是一個包含40個字元的陣列%字尾 是格式說明符

%c告訴printf()函式列印的是一個字元%s告訴printf()函式列印的是一個字串如果用%c來輸出字串的話 只會輸出一個字元還有一點 宣告字元要 char x='a';

宣告字串要 char x[40]="asdf";

其實char宣告語句用的並不是很多

它只能宣告一個變數為1個字元或一個單詞

比如 char x[40]="asdf qwer";

當遇到空格時 就會停止讀取

這樣就只顯示出了asdf 後面的qwer沒有了樓主大哥給個分吧 大半夜爬起來的~~~~~~~~

5樓:匿名使用者

printf("%c",a[i]);裡a[i]是一個字元

printf("%s",a[i]);裡a[i]是一個字串

關於c語言中printf輸出字串的問題!

6樓:匿名使用者

printf函式輸出陣列型字串時,從陣列名標記的地址開始讀取內容,直到記憶體中出現標記為『\0』的記憶體單元才停止。

7樓:高金山

因為a和b沒有字串的結束符號'\0'

所以"chi"是會輸出的,但後面再輸出什麼,就不得而知了"na"也會輸出的,但它後面再輸出什麼,也不得而知了你這種輸出結果,只是很多中不可預期的輸出裡面的一種情況而已

8樓:氣宇昂

一維陣列不可以用字串整體輸出。

9樓:

//字串要用'\0'才能結束啊

#include

void main ()

; char b=;

printf("%s%s\n",a,b);}

10樓:

不是這個結果那是什麼結果??你想要什麼結果?

關於C語言的字串問題

應該不可以,函式指標本質傳遞的是這個函式在記憶體中的起始地址,而字串不可以弄。不過高階語言分配的時候,會自動建立一個叫做 符號表 的資料結構,裡面有這個程式所有的宣告識別符號和其地址 大小等資訊,你如果可以找到訪問這個表的方法,就能實現你的這個想法了。不過我也只知道有這個東西,卻不知道如何去訪問,現...

用c 解 輸入字串,按照升序輸出。要求字串必須

要求差不多,字串及個數可以自己輸入。版 include using namespace std void main int i,j char pt for i 0 i 4 i for j i 1 j 5 j if strcmp p i p j 0 cout after sorting 輸出排序後的結...

C語言字串出現亂碼,C語言 字串輸出時最後出現亂碼

第6行改為 char a 100 b 100 如果要輸出最終結果,沒必要每複製一個字元就輸出一次。將第25行刪掉。可以參考一下這個,講的很清楚 亂碼問題 codeblocks亂碼問題。它這個是codeblocks的,其他其實也差不 太多吧。關鍵是 原始檔儲存編碼 編譯器解釋原始檔的編碼 生成執行檔案...