gpt4 book ai didi

c++ - 静态变量输入时存储什么值?

转载 作者:行者123 更新时间:2023-11-30 18:22:42 26 4
gpt4 key购买 nike

#include<stdio.h>

char *getname()
{
static char name[30];
scanf("%s",name);
return name;
}

void main()
{
char * name1,*name2;
name1 = getname();
name2 = getname();
printf("%s %s\n",name1,name2);
}

输入: jack ·吉尔

输出: 吉尔吉尔

我认为应该是 Jack Jack,因为它存储了输入的初始值。

最佳答案

name1name2 指向同一个对象:name 的第一个元素。

由于指针 name1name2 具有相同的值,因此打印数组时得到相同的结果是正常的。

静态对象的生命周期是程序的整个执行过程,静态对象的地址在程序执行过程中不会改变。

关于c++ - 静态变量输入时存储什么值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com