![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
关于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变化内容,那位大神能够修改这个程序实现我这个小小的功能,谢谢! 展开
#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变化内容,那位大神能够修改这个程序实现我这个小小的功能,谢谢! 展开
展开全部
明显的错误有两个:
1. char a;
应该是char a[100];这个100仅是一个例子。后面的gs=&a也要做相应的修改。
2. 应该用strcpy
这个程序的问题比较多,很多概念不是很清晰。
1. char a;
应该是char a[100];这个100仅是一个例子。后面的gs=&a也要做相应的修改。
2. 应该用strcpy
这个程序的问题比较多,很多概念不是很清晰。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a是一个字符,怎么能用%s呢 ?按如下修改即可实现你的目的。
声明改为:char **gs,*a=NULL;
赋值改为: *gs = getstr();
声明改为:char **gs,*a=NULL;
赋值改为: *gs = getstr();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//strcpy(gs,getstr());
gs = getstr();
你为什么注释掉上面这行?注释掉的那行时实现你的要求的唯一办法,在C语言限制条件下,你第二行这么做根本不可能
gs = getstr();
你为什么注释掉上面这行?注释掉的那行时实现你的要求的唯一办法,在C语言限制条件下,你第二行这么做根本不可能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言_071_指针的定义和使用_上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询