c语言函数字符数组参数 c语音字符数组( 二 )


puts (str3_2);
if (stringCmp (str3_1, str3_2) == 1)
puts (str3_1);
else if (stringCmp (str3_1, str3_2) == -2) {
mergeString (str3_2, str3_1, merge3);
puts (merge3);
}
else if (stringCmp (str3_1, str3_2) == 2 || stringCmp (str3_1, str3_2) == -1) {
mergeString (str3_1, str3_2, merge3);
puts (merge3);
}
putchar ('\n');
puts ("======================================================");
putchar ('\n');
puts ("第4组字符串:");
puts (str4_1);
puts (str4_2);
if (stringCmp (str4_1, str4_2) == 1)
puts (str4_1);
else if (stringCmp (str4_1, str4_2) == -2) {
mergeString (str4_2, str4_1, merge4);
puts (merge4);
}
else if (stringCmp (str4_1, str4_2) == 2 || stringCmp (str4_1, str4_2) == -1) {
mergeString (str4_1, str4_2, merge4);
puts (merge4);
}
putchar ('\n');
puts ("======================================================");
putchar ('\n');
getch (); /*屏幕暂留*/
return 0;
}
运行结果
C语言中如何将二维字符数组作为函数参数引用传递不可能达到目的 。因为C语言中没有引用这类型 , C++才有 。另,C/C++都不支持传递数组,只能传递数组的首元素或行指针,所以即使是C++,也只能传递数组指针的引用,而不可能传递数组的引用,因为数组没有引用 。
C语言,分别用字符数组和字符指针作函数参数两种方法编程实现字符串#include stdio.h
#include string.h
#include malloc.h
void niXuArr(char arr[]);
char * niXuPoint(char *p);
int main(void)
{
char arr[] = {"abcdefghigk"}, *p = "you are the first";
printf("逆序前:%s\n逆序后:", arr);
niXuArr(arr);
printf("%s\n", arr);
printf("逆序前:%s\n逆序后:", p);
p = niXuPoint(p);
printf("%s\n", p);
return 0;
}
void niXuArr(char arr[])
{
int i = 0;
char temp = 0;
for(i = 0; istrlen(arr) / 2; i++)
{
temp = arr[i];
arr[i] = arr[strlen(arr) - 1 - i];
arr[strlen(arr) - 1 - i] = temp;
}
}
char * niXuPoint(char *p)
{
char *pHead = NULL, *pTail = NULL, temp = 0;
int i = 0;
pHead = (char*)malloc(strlen(p));
pTail = p + strlen(p) - 1;
p = pHead;
for(i = 0; istrlen(p); i++)
{
*pHead++ = *pTail--;
}
*pHead = '\0';
return p;
}
关于c语言函数字符数组参数和c语音字符数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读