節目#1:爲什麼這些程序(僅在一個printf語句中有所不同)具有不同的輸出?
#include<stdio.h>
#include<stdlib.h>
char *getString()
{
char str[] = "GfG";
printf("%s \n", str);
return str;
}
int main()
{
printf("%s", getString());
return 0;
}
輸出:
GfG
GfG
節目#2:
#include<stdio.h>
#include<stdlib.h>
char *getString()
{
char str[] = "GfG";
return str;
}
int main()
{
printf("%s", getString());
return 0;
}
輸出:
(垃圾值)
請解釋爲什麼,因爲只有printf
語句輸出不同。什麼是確切的描述?
請不要大喊。 –
'char * str =「GfG」;'?這對你的問題會是一個有趣的補充。特別是如果你讓他們'const char *'。 – trojanfoe