首页
社区
课程
招聘
[旧帖] [求助]C语言数组输入输出,编译结果不理想!在线等! 0.00雪花
发表于: 2009-2-10 22:20 3821

[旧帖] [求助]C语言数组输入输出,编译结果不理想!在线等! 0.00雪花

2009-2-10 22:20
3821
几年前注册了一个号,一直就没学,那时候记得注册还得有邀请码~~~
刚起步~~~~~

学了谭浩强的C语言,都是看书,上机较少,看书上的代码都懂,一上机,就不行了,代码如下,
#include<Stdio.h>

void main()
{
int a[10];
int *p=a;                      /*刚学指针,试着用用*/
for(p=a;p<a+10;p++)
{
  scanf("d%",p);
}
  p=a;
for(p=a;p<a+10;p++)
{
  printf("%d",*p);
}
getch();
}
输入0123456789后,回车,出现了一串数字,不是0123456789,不知为何?
在线等~~~~,谢啦

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
void main()
{
int a[10];
int i,j,*p=a;                      /*刚学指针,试着用用*/ //???
for(p=a;p<a+10;p++)
 {
  scanf("d%",*p);   //请你注意%d与d%肯定是不同的,另外后面应该是地址,所以*去掉
 //scanf("%d",p);
 }
  p=a;                    //这里的赋值有意义吗?或者把下面for的初始化去掉
 for(p=a;p<a+10;p++)
 {
  printf("%d",*p);
 }
getch();
}


你输入的时候0123456789,这被看为一个数,默认的分隔符是空格,当然你也可以在scanf中采用其他的分隔符号

所以这个例子,经过修改之后
输入0 1 2 3 4 5 6 7 8 9,是可以输出0123456789的
2009-2-10 22:30
0
雪    币: 182
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
谢啦,
“默认的分隔符是空格”收下了,
scanf("d%",*p);  了解,去掉*,
%d,那儿是笔误,呵呵
明白,p=a,多余,
修改以后,运行成功,呵呵,
谢啦!我继续~~~~~
2009-2-10 22:51
0
游客
登录 | 注册 方可回帖
返回
//