字串與指標

2022-07-11 06:18:13 字數 650 閱讀 1454

#include"stdio.h"  

void   main()  

答:%s當然是字串拉,用%d就是位址了。跟輸出格式有關。

問:為什麼printf("%s",*p);是錯誤的??  

答:%s就當然是字串啦%d就是位址  

("%s",*p),*p是字串的首位址的值,也就是'c',它不是字串,你用%s當然錯了。

printf("%c",*p)就不會報錯了。

陣列名同時就相當於乙個指向陣列首位的指標,所以....  

p是乙個指向了陣列首位址的指標

由於%s是要輸出乙個字串,所以要求的引數是乙個以null結尾的字串的首位址,而%c輸出的是乙個字元,所以需要*p

例程1:

printf("%c\n",string[6]);

printf("%c\n",p[6]);

這兩個語句都可以正確輸出u。

例程2:

printf("%d\n",string[6]);

printf("%d\n",p[6]);

這兩個語句都可以正確輸出字元u的位址。

例程3:

printf("%c\n",*(p+1));

printf("%c\n",p[1]);

這兩個語句的作用相同。

字元指標與字串

例項1 include using namespace std int main 執行結果 error 例項2 include using namespace std int main 執行結果 helloworld例項3 include using namespace std int main 執...

字串與指標

字元 0 和 0 的區別字元 0 對應的ascii碼為十六進製制30 而 0 即為ascii碼中的0,其對應字元空字元nul。char c 0 char c 0 nul char c 0 char c 48 最典型如memset函式 void memset void buffer,int ch,si...

字串與指標

printf的第二個引數的型別是由 第乙個引數format決定的。當format為 s時,第二個引數就是乙個位址,printf將位址上的值輸出到stdout。當format為 d時,第二個引數就是乙個int型的變數,printf將變數上值輸出到stdout。1 字串的表示形式 在c語言中,我們可以用...