| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 781 人关注过本帖
标题:[求助]**p的问题
只看楼主 加入收藏
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
 问题点数:0 回复次数:17 
[求助]**p的问题

怎么用**P来输入几个字符串而存在一个*array[]的数组里呢?
我本来是这样想的 可是不对
#include<stdio.h>
void main()
{
char *array[];
char **p;
int i;
for (i=0;i<3;i++)
{
p=array+i;
scanf("%s",p);
}
for (i=0;i<3;i++)
{
p=array+i;
printf("%s\n",*);
}
}
我指针学的还不好 还请大家告诉我怎么用!

搜索更多相关主题的帖子: 字符串 
2006-01-16 22:03
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
是在输入那里的问题!
可是不知道怎么改啊 !

when i want to ask anyone,i will ask myself first.
2006-01-16 22:04
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
*array[]是一个指针数组,不是让你随便存放东西的.....

淘宝杜琨
2006-01-16 22:13
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
那该怎么做呢??
10.2输入 3个字符串,按由小到大的顺序输出.

when i want to ask anyone,i will ask myself first.
2006-01-16 22:15
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
输入 3个字符串,按由小到大的顺序输出.
字符串排序吗?

淘宝杜琨
2006-01-16 22:16
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
是啊 就是这样 我想给它存进一个数组,可是作不到啊

when i want to ask anyone,i will ask myself first.
2006-01-16 22:17
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
/*进行字符串排序的函数*/
void strArray(char **p)
{
//具体实现
}

//主函数
int main(void)
{
char *array[3];
int i;
//输入
for(i=0;i<3;i++)
scanf("%s",array[i]);
//排序
strArray(array);
//输出
for(i=0;i<3;i++)
printf("%s\n",array[i]);
getch();
}

淘宝杜琨
2006-01-16 22:28
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
谢谢拉!

when i want to ask anyone,i will ask myself first.
2006-01-16 22:39
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 

我是这么做的,请多提意见!
#include<stdio.h>
#include<string.h>
void sort(char x[],char y[],char z[]);
void main()
{
char b[20],c[20],d[20];
char *a[20]={b,c,d};
gets(b);
gets(c);
gets(d);
char **p;
int i;
sort(b, c, d);
for (i=0;i<3;i++)
{
p=a+i;
printf("%s\n",*p);
}
}
void sort(char x[],char y[],char z[])
{
char array[20];
if (strcmp(x, y)>0)
{strcpy(array, x);strcpy(x, y);strcpy(y, array);}
if (strcmp(y, z)>0)
{strcpy(array, y);strcpy(y, z);strcpy(z, array);}
if (strcmp(x, z)>0)
{strcpy(array, x);strcpy(x, z);strcpy(z, array);}
}


when i want to ask anyone,i will ask myself first.
2006-01-16 23:03
martinmcx
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-12-26
收藏
得分:0 

我觉得aiyuheng做得比神vLinux飘飘要好,因为scanf()读取的字符串不能包含空格、制表符。就是说如果你的字串里有空格的话,那读入的就不是一个完整的字串。
gets()的优点就是直至回车的字符串都将读取(不包含回车)。

2006-01-17 09:57
快速回复:[求助]**p的问题
数据加载中...
 
   



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

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