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前沒空格,...