#include <stdio.h>
char* func();
int main ()
{
char *p;
p=func();
printf("%c",*p);
}
char* func()
{
return "hello";
}
這裏,printf打印「h」,表示創建了一個指向「hello」的指針,並將字符串「hello」存儲在內存中。 同樣,在printf(「%d」,5)中,是否將'5'存儲在內存中?在printf(「%d」,5);是5存儲在內存中?
問題是...? – Rizier123 2015-02-12 05:55:34
printf中的'5'是否被賦予了內存? – 2015-02-12 05:58:32
'return「hello」'是無效的,因爲它不是給定的任何內存,你只需將它寫入...堆中的某個地方。如果您現在嘗試「打印」整個字符串,它可能會失敗並/或打印一些其他字符。 – 2015-02-12 05:59:59