|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我知道的是,如果要储存多个字符串有两种方法,一种是二维数组比如a[5][10],一种是一维指针数组*a[5].
但是要怎么才能让函数返回这两个玩意呢?我自己试了很久都不行,球球各位大佬帮忙,感激不尽!!
- #include <stdio.h>
- char *abc(char *s)
- {
- char *a[5];
- int i;
- for(i=0;i<5;i++)
- {
- a[i]=s;
- }
- return *a;
- }
- int main()
- {
- char s,*a[5];
- int i;
- s="AB123";
- *a=abc(s);
- for(i=0;i<5;i++)
- {
- printf("%s\n",*a[i]);
- }
- return 0 ;
- }
复制代码
这是我自己敲的代码,最后是没有结果的。
是函数返回的问题,还是我定义不对?
怎么改才能正常输出呢?
本帖最后由 NukaCola 于 2020-6-23 00:44 编辑
- #include <stdio.h>
- char *point(char *Str)
- {
- char *temp;
- temp=Str;
- return temp;
- }
- int main()
- {
- char *Str[5], S[]="String";
- for(int i=0;i<5;i++)
- {
- Str[i]=point(S);
- printf("%s\n",Str[i]);
- }
- return 0;
- }
复制代码
以上是为了实现调用函数而强行写个函数,实际上这个代码很简单。
- #include <stdio.h>
- int main()
- {
- char *Str[5], S[]="String";
- for(int i=0;i<5;i++)
- {
- Str[i]=S;
- printf("%s\n",Str[i]);
- }
- return 0;
- }
复制代码
|
|