![]() 我想输入几个字符串,然后原样输出,下面的程序请问有什么问题? main() 我本来也觉的是char *name[3] 没有初始化,但为什么下面的程序却可以? //输入一组数据,然后原样输出。 main() for(i = 0; i < 3; i++) |
[此贴子已经被作者于2006-4-2 11:12:11编辑过]
![]() 我想输入几个字符串,然后原样输出,下面的程序请问有什么问题? main() 我本来也觉的是char *name[3] 没有初始化,但为什么下面的程序却可以? //输入一组数据,然后原样输出。 main() for(i = 0; i < 3; i++) |
[此贴子已经被作者于2006-4-2 11:12:11编辑过]
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]);就可以了.
}
这里该是原因之一,不过输出的结果出现NULL了。。
[此贴子已经被作者于2006-4-2 10:07:49编辑过]
你定义指针数组,没有初始化,到了下面
scanf("%s ", name[i]);
这里的地址要从哪里来
输入的数据要存在哪里
不可用 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()赋值..请用字符数组