關於C或者 C語言中字串和指標問題的疑問求高手解答

2022-01-09 12:10:30 字數 681 閱讀 1879

1樓:8奈何

s是指向字串的指標,%s是printf格式化輸出字串,而%c是printf格式化輸出單個字元。

*s相當於s[0],所以輸出單個字元。輸出地址用%p。

2樓:金色潛鳥

輸出格式定義,定義了輸出什麼型別的變數,輸出時做怎樣的轉換。

printf("%s",s); 格式 %s , 定義了輸出 一個字串,輸出變數 提供 輸出的 char 型(陣列)變數的首地址,輸出時並非輸出 char 型陣列 裡的全部字元,而是輸出一個一個字元,直到遇到字串結束符 '\0' 為止。

例如;char s="abcd 1234 xy\0 98 abc";

printf("%s",s); 只輸出: abcd 1234 xy

---printf("%c",.....); 格式 %c , 定義了輸出 一個字元, 輸出變數 是 一位元組整型,把整型量 看成是 ascii 碼值,輸出 這個碼值 對應的字元。

例如:char s= 65; short x=65; long y=65;

printf("%c %c %c", s, x, y);

輸出: a a a

char 是1位元組整型,short 是2位元組整型,long 是4位元組整型, 它們都可存放 ascii 碼值範圍內的 整型量。---

關於c語言中字串指標變數的問題

樓主你好 字元指標ps賦值後是字串 this is a book 的首地址 也就是說此時ps指向第一個字元 t ps就是 t n 10 ps ps n 就是使指標ps指向字串 this is a book 的第11個字元 也就是 b 那麼printf s n ps 就是輸出以ps為首的 以 0 結束...

C語言字串問題,C語言中,字串是什麼?

這迴圈需要執行4次,對應的字元就是0001,也就是說這個sc需要5個空間,加一個 0 for i 0 i 2.你這個程式每次執行的結果可能是不確定的,因為你沒有初始化sc陣列,printf以字串的形式輸出,他是遇到 0 字元才結束的,所以為了保證程式的結果是一致的,建議初始化陣列。sc 5 這樣就可...

c語言中關於字元陣列和字串的區別

陣列的長來度是固定的,源我們知道在哪個地方結束。對於c型別的字串,要想知道在那個地方結束的話,我們只需要檢測某個位置的字串是不是 0就行了,也就是說c型別的字串是以 0標記結束的。所以字元陣列和c型別字串的區別就是那個 0。其實從字元陣列和c型別字串的儲存位置上來說也是不同的,這也算是一個區別吧。結...