以下是引用possessive在2016-4-26 19:38:57的发言:
#include <stdio.h>
#include <string.h>
int main()
{char lianjie(char *,char *); //实参是指针常量
char str1[30],str2[30]; //最好str2不要30,改小点或者str1改大点。
gets(str1);
gets(str2); //后面加一句调用函数lianjie
printf("%s",lianjie(str1[30],str2[30])); //把调用子函数改成str1,而且你调用函数也搞错了,不是str1[30],str2[30].是str1,str2就好了。
return 0;}
char lianjie(char x[30],char y[30])
{
return(strcat(x,y)); //这个也错,返回0,strcat(x,y)另外写一句;
}
先规范写好来。再慢慢的向专业写法靠近,不要想一下子吃成胖子。
#include <stdio.h>
#include <string.h>
int main()
{char lianjie(char *,char *); //实参是指针常量
char str1[30],str2[30]; //最好str2不要30,改小点或者str1改大点。
gets(str1);
gets(str2); //后面加一句调用函数lianjie
printf("%s",lianjie(str1[30],str2[30])); //把调用子函数改成str1,而且你调用函数也搞错了,不是str1[30],str2[30].是str1,str2就好了。
return 0;}
char lianjie(char x[30],char y[30])
{
return(strcat(x,y)); //这个也错,返回0,strcat(x,y)另外写一句;
}









为什么调用函数不能直接写到printf后面?为什么调用子函数写成str1?还有就是返回值为什么是0?谢谢
,是不是我用的这个程序用strcat这个函数,必须是用指针,否则是错的?因为课本上这一章的程序都没有用指针的