LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 928|回复: 2

如何调用函数修改 字符串数组?

[复制链接]
发表于 2006-12-9 14:10:42 | 显示全部楼层 |阅读模式
如题
下面是我用的一种方法,但感觉不好,
有谁对字符串数组了解得深一点的
希望能给点意见
谢谢!

/* swap_str.c
*   调用函数交换字符串数组
*/
#include<stdio.h>
#include<string.h>

void swap(char *strF[],char *strS[]);//交换字符串数组中的元素
main()
{
  int i;
  char *str[]={"fakllj","aeee","ddead"};
  swap(&str[0],&str[2]);               //交换字符串数组的两个元素
   for(i=0;i<3;i++)
      printf("%s  ",str);

   return 0;
}

void swap(char *strF[],char *strS[])
{
   char *tmp[1];             //中间交换用的变量
   tmp[0]=strF[0];
   strF[0]=strS[0];
   strS[0]=tmp[0];
}
发表于 2006-12-9 14:33:36 | 显示全部楼层
这样还行:

  1. #include<stdio.h>
  2. #include<string.h>

  3. void swap(int strF[],int,int);
  4. main()
  5. {
  6.     int i;
  7.     char *str[]={"fakllj","aeee","ddead"};
  8.     swap(str,0,2);
  9.     for(i=0;i<3;i++)
  10.         printf("%s ",str[i]);

  11.     return 0;
  12. }

  13. void swap(int strF[],int i1, int i2)
  14. {
  15.     if(i1==i2)
  16.        return;
  17.     strF[i1] ^= strF[i2];
  18.     strF[i2] ^= strF[i1];
  19.     strF[i1] ^= strF[i2];
  20. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-9 14:37:53 | 显示全部楼层

谢谢

楼上的写法有些深奥,
我不是很懂^_^
回去找找资料看看是怎么回事

谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表