自定义一个函数 myrand();要求在a==1时,return “abc”;a==2时,return “abc123”;
之前我定义了一个char myrand(int a); 然后用 if 语句,return “ ”;结果报错,返回char值的长度不定,所以说前面的char 定义函数不对。
谢谢各位的回答,非常感谢!
不知道选谁好了
这个返回的是指针的地址吧?我要调用的话还得定义指针来指向这个地址对吗?
我是想adams二次开发的,那个里面不能定义指针呢,无法取到这个字符串啊。。。
该怎么办呢?
# include"stdio.h"
#include
struct T{
char a[20];
};
T myrand(int a)
{
T t;
if(a==1)
strcpy(t.a, "abc");
else if(a==2)
strcpy(t.a, "123abc");
else strcpy(t.a, NULL);
return t;
}
void main()
{
T t;
t=myrand(2);
printf(t.a);
}
这个返回的是指针的地址吧?我要调用的话还得定义指针来指向这个地址对吗?
我是想adams二次开发的,那个里面不能定义指针呢,无法取到这个字符串啊。。。
该怎么办呢?
那可以试下用结构体,参考三楼。
这个返回的是指针的地址吧?我要调用的话还得定义指针来指向这个地址对吗?
我是想adams二次开发的,那个里面不能定义指针呢,无法取到这个字符串啊。。。
该怎么办呢?
可以定义数组吗?
把数组作为myrand的实参数
myrand(char buf[], int a);
char buf[10];
myrand(buf, a);
把"abc"或"abc123"拷贝给buf就行了:strcpy(buf, "abc");
这个返回的是指针的地址吧?我要调用的话还得定义指针来指向这个地址对吗?
我是想adams二次开发的,那个里面不能定义指针呢,无法取到这个字符串啊。。。
该怎么办呢?