| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 338 人关注过本帖
标题:这个排序问题错哪了?
只看楼主 加入收藏
雨_幻a
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-8-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
这个排序问题错哪了?
#include<stdio.h>
#include"string.h"
void f(char(*p)[100])  
{
int i,j;
char *temp;
for(i=0;i<9;i++)
  for(j=i;j<10;j++)
   if(strcmp(*(p+i),*(p+j))>0)
   {temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;}//这行有警告,为什么?等号左边的值没价值,为什么啊?
}
main()
{
char a[10][100];
  int i;
  
    printf("请输入值");
for(i=0;i<10;i++)
gets(a[i]);
f(a);
for(i=0;i<10;i++)
  puts(a[i]);
}
谁能告诉我那行为什么有错误啊,交换那为什么有错误,
搜索更多相关主题的帖子: 指针 排序 
2009-08-05 11:28
zhaoguoge
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:121
注 册:2009-7-8
收藏
得分:20 
temp=*(p+i)
temp 是存放地址的指针;
*(p+i)是指针指向的内容;
能赋?
其他同理!
还有,注意代码风格和可读性!
2009-08-05 11:36
mengfp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:141
注 册:2009-8-5
收藏
得分:0 
同意楼上
2009-08-05 14:37
快速回复:这个排序问题错哪了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020202 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved