节目#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