C语言传字符串数组

Python015

C语言传字符串数组,第1张

题目不够详细啊。给你解释下什么叫字符串数组

字符串数组就是一个数组,他的每一个元素都是一个字符串。

在c语言中字符串是以\0结尾的一串字符,如“abcd1234\0”

字符串数组str[2]={"abc\0","123\0"}

\0是结束符。字符串数组里的字符长度都为3

打印的时候只显示abc,\0不显示

#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)

}