2 回答

TA贡献1772条经验 获得超6个赞
#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);
}

TA贡献1817条经验 获得超14个赞
把char str[99] =" am start -a android.intent.action.VIEW -d http://";改成
char *str = (char *)malloc(99);//头文件stdlib.h
strcpy(str," am start -aaandroid.intent.action.VIEW -d http://");
把return *str; 改成 return str;
- 2 回答
- 0 关注
- 107 浏览
添加回答
举报