#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語言中,我們可以用...