CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

[C语言]改错

楼主pestpatrol()2006-06-04 12:40:29 在 C/C++ / C语言 提问

#include"stdio.h"    
  #include"string.h"    
  char   swap(char   *p1,char   *p2)    
  {    
  char   *temp[20];    
  strcpy(temp,p1);    
  strcpy(p1,p2);    
  strcpy(p2,temp);    
  }    
   
  main(){    
  char   *str1[20],*str2[20],*str3[20];   /*这里没错吧?定义了一个字符指针数组*/  
  gets(str1);    
  gets(str2);    
  gets(str3);    
  if(strcmp(str1,str2)>0)/*这里怎么比的里?这里的str1是代表字符指针数组的首地址即&str[0]                /*吗?*/     
  swap(str1,str2);    
   
  if(strcmp(str1,str3)>0)    
  swap(str1,str3);    
   
  if(strcmp(str2,str3)>0)    
  swap(str2,str3);    
   
  printf("%s\n%s\n%s\n",str1,str2,str3);    
   
  } 问题点数:0、回复次数:5Top

1 楼dongxi521(小东西)回复于 2006-06-04 13:30:43 得分 0

应该是定义成char   str1[20],   str2[20},str3[20];数组名字已经是指针了不是?Top

2 楼nysst_hxl()回复于 2006-06-05 10:59:04 得分 0

你没搞明白字符指针数组的概念  
  照你那样定义,你知道数组里放的是什么吗?  
  里面放的是20个指向字符串的指针,你用字符串函数去操作一个地址,而不是去操作一个字符,你想想会出现什么情况呢?Top

3 楼nysst_hxl()回复于 2006-06-05 10:59:41 得分 0

下功夫多看看书吧Top

4 楼templarzq(原谅我这一生不羁放纵爱自由,也会怕有一天会跌倒)回复于 2006-06-05 16:25:25 得分 0

char   *temp[20];    
  改成  
  char   temp[20];Top

5 楼templarzq(原谅我这一生不羁放纵爱自由,也会怕有一天会跌倒)回复于 2006-06-05 16:26:38 得分 0

char   *str1[20],*str2[20],*str3[20];   /*这里没错吧?定义了一个字符指针数组*/  
  错鸟。。。去掉*Top

相关问题

关键词

得分解答快速导航

  • 帖主:pestpatrol

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo