c語言中用printf輸出字串printfs n

時間 2021-09-21 09:07:20

1樓:偵探章邯

printf("%s",p);

是指從指標p所指向的位元組開始輸出,直到讀到'\0'字元而*p則是隻p指向的字元,也就是字串的第一個字元如果printf("%s\n",*p);則系統會將p所指向的字元化為記憶體地址,並從那裡開始讀取……

(例如字串開頭為'0'則從記憶體地址0x00000030開始讀取等價於char *p=48;

printf("%s\n",p);)

2樓:

printf應該改為printf("%c\n %s\n",*p,p);

%s表示要列印的是字串,所以後面應該是char*,而你寫*p是表示a[0]的字元值

3樓:風若遠去何人留

printf是c語言中的格式化輸出函式,需要將第一個引數字串中的格式字元與後面引數中的匹配,否則就會出錯。

比如當格式字元為%d時,後面對應位置的引數就必須是int型,或者可以轉為int型的其它型別。

在 printf("%s\n %s\n",*p,p);這句中,格式字元有兩個均為%s,對於這個格式字元,後續的引數必須為char *型,即字元指標或一維字元陣列型別。

後續傳入了兩個引數,*p和p,這樣無論p是什麼型別,*p和p中至少有一個不是char *型,所以必然會出錯。

c語言中%s輸出字串怎麼用?

4樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:char *a = "hello";printf("%s", a); 。

3、編譯器執行test.cpp檔案,此時成功通過%s輸出了字串。

5樓:匿名使用者

輸出陣列字串s:printf("s=%s\n",s)。

printf()函式的呼叫格式為:

printf("《格式化字串》", 《參量表》);

#include

int main()

char s[20]="jisadnfsd";

printf("%s",s);

return 0;

6樓:匿名使用者

#include

void main()

7樓:匿名使用者

char name[10]="abcd";

puts(name);

printf("%s",name);

8樓:風若遠去何人留

使用格式化輸出語句printf即可。

1 標頭檔案:

stdio.h

2 宣告:

int printf(char *format_string, ...);

3 功能:

根據format_string格式,輸出後續變數。

4 用於輸出字串。

用%s可以輸出字串。在format_string使用%s,後續對應位置上使用要輸出的字串變數名即可。

比如要輸出char str[100] = "test string";

需要寫作

printf("%s", str);

9樓:默_____契

char name[10]="abcd";

printf("%s",name);

後面不用再name[10]

10樓:怪談鬼水

定義字串陣列後直接輸出就行了,不過%s輸出的字串會忽略空格及空格以後的東西,建議使用puts()來輸出

11樓:要個長長的名字

%s 為輸出字串的,

應該輸出 char 形變數;

#include

void main()

這樣應該可以了

12樓:

這當然不行,vc裡面int型是4個位元組,而%s也就是字串是無限長度位元組,肯定會報錯的

13樓:dk小黑

(1)寫成這樣:printf("%s", "55"),即用上引號把55括起來(形成一個字串,否則55表示一個整型數,與%s不匹配);

(2)黃色箭頭表示程式當前執行到那一行,或者在那一行出現問題,應該就是最上面程式出錯引起的。

14樓:魔靨一陣風

"%s「,是列印輸出字串的意思,

printf("%s「,name); //name在這裡是字串的起始地址,

printf()函式在這裡會自動判斷字串結尾。

如果你使用 printf("%c「,name[0]);

就會列印單個字元,輸出結果: a

15樓:匿名使用者

#include

main()

%s是輸出字串

16樓:匿名使用者

去掉[10].

name是字串,而name[0]-----name[9]是每個字元.

17樓:

其實,lz您這個是可以用的%s的,只不過格式要變下:int a改為int a[1] ,賦值時用scanf來賦值。

int a[1];

scanf("%s", a);

printf("%s", a);

c語言中怎麼輸出特殊字元,C語言中怎麼輸出一個特殊字元

include main 你腦袋是方的嗎 不會這樣啊! include int main printf c t chr 好像沒有問題哈 手機上網,沒有測試 我剛剛去找了一下 ascii的表 以及擴充套件 ascii 255 的那個都沒有你要的那個符號 我想了一下 你那個符號應該不是 ascii但以前...

c語言中printf語句以小數形式輸出單 雙精度實數的問題

這個問題其實屬於計算機組成原理的範疇了,你需要先認識到浮點數是如何儲存的。目前已知的所有的c c 編譯器都是按照ieee 國際電子電器工程師協會 制定的ieee 浮點數表示法來進行運算的。這種結構是一種科學表示法,用符號 正或負 指數和尾數來表示,底數被確定為2,也就是說是把一個浮點數表示為尾數乘以...

C語言中用scanf函式輸入字元時,為什麼要在輸入控制符c前面加空格?用scanf還有哪些要注意

鮮雁員環 空格確實不是必須的,但有了空格就可以忽略你輸入的空格。例如 scanf c c 你輸入了 a a前面有個空格 a就能被c接受。但控制符前如果沒空格,那c就接受了空格,這個可以防止誤操作,忽略空格輸入,接受第一個非空格輸入。注意事項 對於scanf 而言,c是個較為特殊的說明符。c前沒空格,...