首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求解c,该如何处理

2012-03-05 
求解c#includeconio.h#includestring.hmain(){char*str1[20],*str2[20],*str3[20]clrscr()printf(

求解c
#include   <conio.h>
#include   <string.h>
main()
{


char   *str1[20],*str2[20],*str3[20];
  clrscr();
  printf( "input   three   numbers ");
  gets(str1);
gets(str2);
gets(str3);
if(strcmp(str1,str2)> 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);
}
char   swap(char   *x,char   *y)
{char   *p[20];
  strcpy(p,x);
  strcpy(x,y);
  strcpy(y,p);

}

[解决办法]
大致有如下几个问题:
char *str1[20],*str2[20],*str3[20];
/。。。。。。。。。。。。。。。。。/
printf( "input three numbers ");
gets(str1); //
gets(str2);
gets(str3);
所有的指针都不安全,也就是俗称的野指针,应该进行安全化处理,譬如对char *str1[20]指针数组:
for(int i=0;i <20;i++)
str1[i]=malloc(20); //为指针数组中的各个指针分配20字节的存储空间;
然后才能 gets(str1[i]);

热点排行