小编use*_*261的帖子

为什么这些程序(仅在一个printf语句中有所不同)具有不同的输出?

计划#1:

#include<stdio.h>
#include<stdlib.h>
char *getString()
{
   char str[] = "GfG";
   printf("%s \n", str); 
   return str;
}    
int main()
{
    printf("%s", getString()); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

GfG
GfG
Run Code Online (Sandbox Code Playgroud)

计划#2:

#include<stdio.h>
#include<stdlib.h>
char *getString()
{
    char str[] = "GfG";
    return str;
}    
int main()
{
    printf("%s", getString()); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

(垃圾值)

请解释为什么因为只有一个printf语句输出不同.具体描述是什么?

c string

1
推荐指数
1
解决办法
216
查看次数

标签 统计

c ×1

string ×1