黑马程序员技术交流社区
标题:
没有错误,也没有警告,运行的时候有问题,求大神
[打印本页]
作者:
大悟云
时间:
2015-6-9 13:34
标题:
没有错误,也没有警告,运行的时候有问题,求大神
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ( )
{
int i;
int j;
char *temp=0;
char a[5][200];
printf ("请输入6个字符串\n");
for (i=0; i<6;i++)
{
printf ("请输入第%d个字符串",i+1);
gets(a[i]);
}
for (i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if (strcmp(a[i],a[i+1])>0)
{
strcpy(temp,a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],temp);
}
}
}
for (i=0;i<6;i++)
{
printf("第%d个字符串:%s\n",i+1,a[i]);
}
return 0;
}
作者:
晗修
时间:
2015-6-9 15:08
声明了5*200的char数组却用来存储6个字符串
然后temp是个字符串指针 字符串指针的使用方法也不对。
字符串指针只能直接赋值字符串常量,如果要赋值变量 需要先申请内存空间。
作者:
Emma
时间:
2015-6-9 22:36
骗子,哎,骗我们啊
作者:
白0702
时间:
2015-6-10 08:26
你定义了一个二维数组,结果你下面用的是一维数组,而且你下面的循环也不对,应该循环5次才对,不能用嵌套for循环。还有就是你的指针用的也不正确,你用的是char类型的字符串指针,怎么可以复制为0呢
作者:
小龙女的萝卜
时间:
2015-6-10 09:48
Emma 发表于 2015-6-9 22:36
骗子,哎,骗我们啊
谁骗我们啊,tell me who
作者:
这是829
时间:
2015-6-11 22:16
围观学习啦,加油不错哦!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2