| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2156 人关注过本帖
标题:一个关于指针的问题 !
只看楼主 加入收藏
wanlxtx
Rank: 2
来 自:河南郑州
等 级:论坛游民
威 望:1
帖 子:45
专家分:84
注 册:2010-2-6
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:39 
一个关于指针的问题 !
用指针操作将输入的五个字符串按由大到小的顺序输出。
搜索更多相关主题的帖子: 指针 
2010-02-24 19:02
幸运之星
Rank: 4
来 自:吉林
等 级:业余侠客
帖 子:275
专家分:239
注 册:2009-6-5
收藏
得分:5 
问题不明确最好有部分代码
我的这个是我理解你的意思所做的不知道符合你的要求吗
程序代码:
#include<string.h>
main()
{
    int a=0;
        char *b="hehe",*c="haha";
    a=strcmp(b,c);
        if(a>1) printf("%s\n",b);
        if(a<1) printf("%s\n",c);
}

要是不对就再问
收到的鲜花
  • Devil_W2010-02-26 00:50 送鲜花  -2朵   附言:这种代码你也好意思贴?
2010-02-24 19:39
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:10 
是作业题吧?
(VC编译通过)
程序代码:
#include <stdio.h> 
#include <string.h> 
void main() 
{ 
    int i; 
    char x[20]; 
    char *tmp=x; 
    char *cs[6]; 
    char **p=cs,**q=cs; 

 
    for (i=0;i<5 ;i++ ) 
    { 
        cs[i]=new char(20); 
    } 
    p[5]=NULL; 

 
    while(*p) 
    { 
        scanf("%s",*p);*p++; 
    } 
    p=cs; 
    while(*p) 
    { 
        q=p+1; 
        while(*q) 
        { 
            if (strcmp(*p,*q)<0) 
            { 
                strcpy(tmp,*p); 
                strcpy(*p,*q); 
                strcpy(*q,tmp); 
            } 
            *q++; 
        } 
        *p++; 
    } 
    puts("ordered:"); 
    p=cs; 
    while(*p) 
    { 
        puts(*p);delete(*p);*p++; 
    } 
}


★★★★★为人民服务★★★★★
2010-02-25 07:36
幸运之星
Rank: 4
来 自:吉林
等 级:业余侠客
帖 子:275
专家分:239
注 册:2009-6-5
收藏
得分:5 
我的乖乖啊 你怎么不给他思路啊
直接给答案 你这个是不对的 呵呵
以后一定要注意你这是在害人啊 呵呵
2010-02-25 14:50
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:2 
真心想学的,一样收益!否则又有何妨?

★★★★★为人民服务★★★★★
2010-02-25 19:45
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
其实不用拷贝串的内容,把指针对换一下就行了。
2010-02-25 20:13
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
说的对!而且还有可以改进的地方!

★★★★★为人民服务★★★★★
2010-02-26 07:16
JZ_ZCCZ
Rank: 2
等 级:论坛游民
帖 子:17
专家分:17
注 册:2010-2-25
收藏
得分:4 
希望大家一起讨论
#include<stdio.h>
#include<string.h>
void main()
{char ss[5][10]={0};//这里字符数组SS的大小自己可定,最好弄个宏定义比较方便
 char sb[10]={0};//这里大小10与SS的列数10一定要一一对应
 char *p[5]={NULL};//初始化指针(很重要的)
 char *q;
 int i,j;
 puts("输入5个字符串!")
 for(i=0;i<5;i++)
 {gets(ss[i]);
  p[i]=ss[i];//让指针数组元素指向SS数组的每一行
 }
 for(i=0;i<5;i++)
 puts(p[i]);//主要作为验证你的输入,此语句可以删除
 for(i=0;i<4;i++)
 {q=p[i];
 for(j=i+1;j<5;j++)
 if(strcmp(q,p[j])<0)
 {strcpy(sb,q);strcpy(q,p[j]);strcpy(p[j],sb);}
 }//这是一个类似于排序法的语句,结构很固定
 puts("排序后:");
 for(i=0;i<5;i++)
 puts(ss[i]);
}
此程序缺陷是比较死板,不能想输入多少对字符串就输入多少,必须与数组SS的大小相符! 希望大家给点建议!
  
2010-02-26 10:27
司法官
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2010-2-18
收藏
得分:2 
鄙视,都什么人啊,都不会最简单的方法吗??????
2010-02-26 12:33
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:2 
以下是引用司法官在2010-2-26 12:33:05的发言:

鄙视,都什么人啊,都不会最简单的方法吗??????
其实我是想鄙视你的

我写的简单的你能看懂吗?

程序代码:
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <assert.h> 
static int cmpstringp(const void *p1, const void *p2) 
{ 
    return strcmp(* (char * const *) p1, * (char * const *) p2); 
} 
int main(int argc, char *argv[]) 
{ 
    int j; 
    assert(argc > 1); 
    qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp); 
    for (j = 1; j < argc; j++) 
        puts(argv[j]); 
    exit(EXIT_SUCCESS); 
}

2010-02-26 13:09
快速回复:一个关于指针的问题 !
数据加载中...
 
   



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

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