字串指標的輸出

枉凝眉兮發表於2019-05-14

程式碼塊

#include <stdio.h>

int main(void){
char *str="我的夢想是當一名程式猿!";

printf("%s", str);
printf("%c", *(str+5));
return 0; 
}

1.

printf(“%s”, str);
輸出的結果是:我的夢想是當一名程式猿!

這句話的意思是列印整個str所指向的字串.沒有星號是因為前面有個%s,s是string字串的意思,那麼後面就得是一個字元指標,字串是預設char型別的陣列,所以被同樣當作首地址,列印不需要星號前置,輸出整個字串,直到` `停止。

2.如果是%d,那麼後面可以是不加星號,列印出的結果是記憶體的隨機值。

printf(“%d”, str);
輸出的結果是:4210688

3.也可以加上星號,列印出的結果是str指向的字串第一個字元的ASCII值為止。

printf(“%d”, *str);
輸出的結果是:-50

相關文章