我的本意是用一个自定义函数,将传入的字符串与函数内的定值字符串连接后,再传出去,不知怎么弄,求指导

#include<stdio.h>
#include<string.h>
char *start(char *wz);
int main()
{
char *sys;
char xz,wz[99]="www";
scanf("%s",&xz);
if (xz=='1')
sys=start(*wz);/*将wz值传入start*/
printf("%s",sys);
return 0;
}
char *start(char *wz)
{
char str[99]="am start -a android.intent.action.VIEW -d http://";
strcat(str,wz);
return *str;
}

摇曳的蔷薇
浏览 108回答 2
2回答

梦里花落0921

#include<stdio.h>#include<string.h>char *start(char *wz);int main(){ char *sys = NULL; char xz,wz[99]="www"; scanf("%s",&xz); if (xz=='1') sys=start(wz);/*将wz值传入start*/ printf("%s",sys);if (sys != NULL) // 注意:分配内存以后一定要释放free(sys); return 0;}char *start(char *wz){char* str = (char*)malloc(99); // 堆中分配内存strcpy(str, "am start -a android.intent.action.VIEW -d http://"); strcat(str,wz); return str; }其实不建议以这种方式来写,start函数可以写成2元函数,一个函数传入参数,一个函数传出结果。void start(char* pOut, char* pIn){strcpy(pOut, "am start -a android.intent.action.VIEW -d http://");strcat(pOut, pIn);}

大话西游666

把char str[99] =" am start -a android.intent.action.VIEW -d http://";改成&nbsp;char *str = (char *)malloc(99);//头文件stdlib.hstrcpy(str," am start -aaandroid.intent.action.VIEW -d http://");把return *str; 改成 return str;
打开App,查看更多内容
随时随地看视频慕课网APP