Home 綜合 c語言中輸出字串程式問題

c語言中輸出字串程式問題

0

  字串本身是一個支付陣列,你這兒是用的一個字元指標p來表示一個字串而不是陣列,而在c中這種情況它會把你這個字串看做一個字元陣列,而p就是頭指標。*p表示的是一個字元型的變數,不能表示一個字串

  c語言規定,字串的輸入輸出都必須對字串的首地址進行操作。

  所以輸出格式為 “%s”,必須對應指標 p 。

  printf(“%s
“,*p輸出的是地址值,而p才是輸出指標對應的字串的值。我現在在學彙編,c的忘了

  printf(“%s”,p);

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

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

  printf(“%s
“,p);)

  printf(“%s
“,*p)那就是輸出p了