| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 850 人关注过本帖
标题:指针数组的问题~
只看楼主 加入收藏
mgp1030
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-3-27
收藏
 问题点数:0 回复次数:16 
指针数组的问题~
输入不连续字符串问题

我想输入几个字符串,然后原样输出,下面的程序请问有什么问题?

main()
{
char *name[3];
int i;
for(i = 0;i < 3; i++)
scanf("%s ", name[i]);
printf("\n") ;
for(i = 0; i < 3; i++)
printf("%s ", *name[i]);
}

我本来也觉的是char *name[3] 没有初始化,但为什么下面的程序却可以?


下面的程序却可以执行:

//输入一组数据,然后原样输出。

main()
{
int *name[3];
int i;
clrscr();
for(i = 0; i < 3; i++)
scanf("%d ", name[i]);

for(i = 0; i < 3; i++)
printf("%d ", *name[i]);
}

[此贴子已经被作者于2006-4-2 11:12:11编辑过]

搜索更多相关主题的帖子: 指针 
2006-04-02 07:27
油豆
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-29
收藏
得分:0 

main()
{
char *name[3];
int i;
for(i = 0;i < 3; i++)
scanf("%s ", name[i]);
printf("\n") ;
for(i = 0; i < 3; i++)
printf("%s ", *name[i]);/*应该改成printf("%s ", name[i]);就可以了.
}


2006-04-02 08:10
mgp1030
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-3-27
收藏
得分:0 

printf("%s ", *name[i]);/*应该改成printf("%s ", name[i]);就可以了.
}

这里该是原因之一,不过输出的结果出现NULL了。。

[此贴子已经被作者于2006-4-2 10:07:49编辑过]

2006-04-02 09:58
偶成
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-3-4
收藏
得分:0 

你定义指针数组,没有初始化,到了下面
scanf("%s ", name[i]);
这里的地址要从哪里来
输入的数据要存在哪里


几年前,丢失了求知欲,游荡在游戏世界中. 而今寻找回了求知欲,希望通过自学充实自己.努力中...
2006-04-02 10:16
wzl520
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-3-30
收藏
得分:0 
#include <conio.h>
#include <stdio.h> /* 此头函数请不要删除 */
main()
{
int name[3];
int i;
for(i=0;i<3;i++)
scanf("%s",name[i]);
for(i=0;i<3;i++)
printf("%s\n", name[i]);
getch(); /* 此语句请不要删除*/
}
这样就ok!了

No pain No gain
2006-04-02 10:21
偶成
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-3-4
收藏
得分:0 
楼上的你的是输入三个字符,不是三个字符串吧

几年前,丢失了求知欲,游荡在游戏世界中. 而今寻找回了求知欲,希望通过自学充实自己.努力中...
2006-04-02 10:25
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

不可用 scanf() 给字符指针变量赋字符串

应为:

# include <stdio.h>
main()
{
char *name[3]={"nihao","nihaoa","nihenhao"} ;
int i;

for(i = 0; i < 3; i++)
printf("%s ", name[i]);
getch ();
}

如果你想用scanf()赋值..请用字符数组


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-04-02 16:45
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
收藏
得分:0 
我也认为二楼是对的

I am a programmer !
2006-04-02 22:09
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
收藏
得分:0 
以下是引用wzl520在2006-4-2 10:21:00的发言:
#include <conio.h>
#include <stdio.h> /* 此头函数请不要删除 */
main()
{
int name[3];
int i;
for(i=0;i<3;i++)
scanf("%s",name[i]);
for(i=0;i<3;i++)
printf("%s\n", name[i]);
getch(); /* 此语句请不要删除*/ 请问兄弟,这句话有什么用,能不能介绍一下这个函数,我不懂!谢谢了
}
这样就ok!了


I am a programmer !
2006-04-02 22:12
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

第一个程序没有为串开辟可读写的内存空间
第二个程序每次输入的是一个数字,当然可以了


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-02 22:13
快速回复:指针数组的问题~
数据加载中...
 
   



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

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