| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 824 人关注过本帖
标题:指针数组问题?????
只看楼主 加入收藏
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
 问题点数:0 回复次数:13 
指针数组问题?????
main()
{int i;
char *array[7]; /*定义一个7个元素的指针数组*/
for(i=0;i<7;i++)
{printf("\nInput character string :");
scanf("%s",array[i]); /*输入7个字符串,并用将字符串的首地址放在指针array[i]中*/
}
for(i=0;i<7;i++)
puts(array[i]); /*逐行输出各字符串*/
getch();
}
当指针数少于7时,运行没问题,但大于7之后就出现问题了.主要是array[0]的值有问题.请各位运行一下!!为什么会这样呢?那里出错了????
搜索更多相关主题的帖子: 指针 
2006-05-08 19:27
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用songweiwen在2006-5-8 19:27:00的发言:
main()
{int i;
char *array[7]; /*定义一个7个元素的指针数组*/
for(i=0;i<7;i++)
{printf("\nInput character string :");
scanf("%s",array[i]); /*输入7个字符串,并用将字符串的首地址放在指针array[i]中*/
当指针数少于7时,运行没问题,但大于7之后就出现问题了.主要是array[0]的值有问题.请各位运行一下!!为什么会这样呢?
char *array[7] 只是个用于存放地址的空架子。
根本不能指望它来存放任何1个字符串,更别说7个了。
至于有时在某个编译器上侥幸成功,不足为凭。这就
像偷东西未被发现,你能说那人不是“小偷”吗?

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 19:40
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 
能说一下指针数组的用处吗?
如果只是象普通指针一样使用,那指针数组好象没多大意义!!!

Finding!!!
2006-05-08 20:03
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

举个最简单的例子吧
比如说,有这么一个程序

int main(int argv,char **args){
int i;
printf("程序名:%s\n",args[0]);
for(i=1;i<argv;i++)
printf("参数[%d]:%s\n",i,args[i]);
return 0;
}

你把这个程序保存为xformat.c
然后编译后在CMD中切换到xformat所在的目录下输入:
xformat c:/s
你看看会输出什么

这就是一个最简单的用法


淘宝杜琨
2006-05-08 20:19
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(songweiwen)能说一下指针数组的用处吗?如果只...
以下是引用songweiwen在2006-5-8 20:03:00的发言:
能说一下指针数组的用处吗?
如果只是象普通指针一样使用,那指针数组好象没多大意义!!!

我的体会是:C语言提供的各种“元部件”就像程序员豢养的一群食客,他们各有各的本事。俺们正在讨论的“指针数组”也许相当于“鸡鸣狗盗”之术吧,很难说它究竟有什么用途。反正主人越会运筹帷幄,那帮门客给主人带来的好处就越大。反之,主人越无能,即便养了3000门客,也不会有多大动静。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 20:21
roy_guo
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-4-27
收藏
得分:0 

#include "stdio.h"

main()
{
int i;
char **array; /*定义一个7个元素的指针数组*/
for(i=0;i<7;i++)
{
printf("\nInput character string :");
scanf("%s",*(array+i)); /*输入7个字符串,并用将字符串的首地址放在指针array[i]中*/
}
for(i=0;i<7;i++)
puts(*(array+i)); /*逐行输出各字符串*/
getch();
}


彪悍的人生不需要解释~~~
2006-05-08 20:25
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用roy_guo在2006-5-8 20:25:00的发言:

#include "stdio.h"
main()
{
int i;
char **array; /*定义一个7个元素的指针数组*/
for(i=0;i<7;i++)
{ printf("\nInput character string :");
scanf("%s",*(array+i)); /*输入7个字符串,并用将字符串的首地址放在指针array[i]中*/
}
for(i=0;i<7;i++)
puts(*(array+i)); /*逐行输出各字符串*/
getch();
}

你的程序在VC++6.0下无法运行,固执己见有何益?


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-08 20:30
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 
各位大哥,谁说说指针数组的一些用法呢?

Finding!!!
2006-05-08 20:34
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 
以下是引用–★–在2006-5-8 20:21:00的发言:

我的体会是:C语言提供的各种“元部件”就像程序员豢养的一群食客,他们各有各的本事。俺们正在讨论的“指针数组”也许相当于“鸡鸣狗盗”之术吧,很难说它究竟有什么用途。反正主人越会运筹帷幄,那帮门客给主人带来的好处就越大。反之,主人越无能,即便养了3000门客,也不会有多大动静。

“指针数组”也许相当于“鸡鸣狗盗”之术吧,-------你这话把指针数组更贬得毫无存在的价值了,这就想不明白谭浩强先生为什么要花3页纸去叙述这“鸡鸣狗盗”的东西!!!!1


Finding!!!
2006-05-08 20:39
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
恩恩~~不能那么理解“鸡鸣狗盗”在这里的意思,在这里既然牵扯到了孟尝君那就是指正面的意思了
意思就是说,不管你觉得它多么的不起眼(是你觉得它鸡鸣狗盗),用在恰当的地方那就是非常厉害的。

淘宝杜琨
2006-05-08 20:50
快速回复:指针数组问题?????
数据加载中...
 
   



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

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