关于c语言指针的一个小问题?

我有以下一个c语言程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#inc... 我有以下一个c语言程序:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<windows.h>

char *getstr(){
return "aaabbbccc7";
}

void main(){

// int start,end;
// char *str = "aaabbbccc5";

//printf("%d\n",time(NULL));
// start = time(NULL);

char *gs,a;
//a = 'c';
printf("a1=%s\n",a);
gs = &a;

//strcpy(gs,getstr());
gs = getstr();

printf("p1=%s",gs);
printf("\n");
printf("a2=%s\n",a);
printf("\n");

// printf("%d\n",time(NULL));
// end = time(NULL);

//printf("program run time is %d\n",(end - start));

system("pause");
}
运行结果是:
a1=(null)
p1=aaabbbccc7
a2=(null)
但我想的结果是:
a1=(null)
p1=aaabbbccc7
a2=aaabbbccc7

我就是想指针gs指向a变量,gs变化,a跟gs变化内容,那位大神能够修改这个程序实现我这个小小的功能,谢谢!
展开
 我来答
海狮2D
2021-02-28 · TA获得超过3017个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:944万
展开全部
明显的错误有两个:
1. char a;
应该是char a[100];这个100仅是一个例子。后面的gs=&a也要做相应的修改。
2. 应该用strcpy
这个程序的问题比较多,很多概念不是很清晰。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
细雨在微笑
2021-02-28 · TA获得超过203个赞
知道小有建树答主
回答量:358
采纳率:45%
帮助的人:73万
展开全部
a是一个字符,怎么能用%s呢 ?按如下修改即可实现你的目的。
声明改为:char **gs,*a=NULL;
赋值改为: *gs = getstr();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2021-02-28 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5447万
展开全部
//strcpy(gs,getstr());
gs = getstr();
你为什么注释掉上面这行?注释掉的那行时实现你的要求的唯一办法,在C语言限制条件下,你第二行这么做根本不可能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彭珂的课堂
2021-03-05 · IT资讯、技能教学、学习经验分享。
彭珂的课堂
采纳数:98 获赞数:343

向TA提问 私信TA
展开全部

C语言_071_指针的定义和使用_上

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式