以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  荤菜求助:交换两个字符串,指针问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=48610)


--  作者:荤菜
--  发布时间:6/17/2007 3:45:00 PM

--  荤菜求助:交换两个字符串,指针问题

/*这儿用的是直接交换字符数组a里的字符,而不是指针数组name中的内容*/
main()
{static char *a[]={"follow me","basic"};
char print();
int i;
print(a,2);
for(i=0;i<2;i++)
printf("%s\n",a[i]);
getch();
}
char print(char *name[],int n)
  {char *t[20];
    {strcpy(t,name[0]);strcpy(name[0],name[1]);strcpy(name[1],t);}
   }
我在win-tc下编译成功,在dev-cpp下失败,请问各位如果直接交换字符数组a里的字符,那么我错在哪里了?(可能是最后第二句,因为这句可改成{t=name[0];name[0]=name[1];name[1]=t;},不过这属于交换name中的内容)
--  作者:JuliusTing
--  发布时间:6/23/2007 10:00:00 PM

--  
main()
{
static char *a[]={"follow me","basic"};
char print();
int i;
print(a,2);
for(i=0;i<2;i++)
  printf("%s\n",a[i]);
getch();
}
char print(char *name[],
          int n)
{
char *t;
t = name[0];
name[0] = name[1];
name[1] = t;
#if 0
strcpy(t,name[0]);
strcpy(name[0],name[1]);
strcpy(name[1],t);
#endif
}

--  作者:JuliusTing
--  发布时间:6/23/2007 10:02:00 PM

--  
阁下在声明t的时候声明错了。还有,DEVC++用的是GCC的编译器内核,首先就是MAIN函数的返回值必须是INT值。
--  作者:荤菜
--  发布时间:6/30/2007 5:51:00 PM

--  
谢了
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms