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 關注
- 93 瀏覽
添加回答
舉報