小弟请教下:字符串数组问题,和一些引用,真心求解!!
#include "stdio.h"#include "string.h"
int sort(char *str[],int n);
void main()
{ // 串数.长度
char str[6][15];
int i;
for(i=0;str[i]<str[6];i++)
gets(str[i]);
sort(str,6);
for(i=0;str[i]<str[6];i++)
puts(str[i]);
}
int sort(char *str[],int n)
{
int i,j;
char sp[200];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++,str++)
if(strcmp(&str[i],&str[j])>0)
{
strcpy(sp,&str[i]);
strcpy(&str[i],&str[j]);
strcpy(&str[j],sp);
}
return 0;
}
问下,为什么二维的字符串数组和二维的整型数组引用不一样?
如:字符二维数组 a[1] 为什么拷贝数组的时候,
比如我想拷贝一个二维字符 str[6][15]的时候,.
我想拷贝这个数组里面的 第2个字符串.
strcpy(str[2],某地址); //为什么输入str[2]不行,难道它不是地址吗
//这样输入却又可以.
strcpy(&str[2],某地址);
请我的学长能耐心教解我,谢谢.
上述代码实现的功能如下:
用字符串数组存放多个字符串.
利用函数功能sort进行两次嵌套循环,
问题出现在if条件语句里面,和if符合语句里面.
我想让它相比较后能够按 字符串从小到大 整理后输出.为什么不能实现呢?
我的分数全给了,我只求一个答案,希望各位懂的能教下我,谢谢!