黑马程序员技术交流社区

标题: C语言碰到的一个指针错误 [打印本页]

作者: nmvbxcz123    时间: 2015-4-7 19:47
标题: C语言碰到的一个指针错误
本帖最后由 nmvbxcz123 于 2015-4-7 19:56 编辑
用C语言的指针操作一个数组的输入与输出{:3_62:}可是不知道哪里错了{:3_49:}
  1. #include<stdio.h>      
  2. void main()
  3. {
  4.    int *p,i,a[10];
  5.    p=a;
  6.    for(i=0;i<10;i++)
  7.       scanf("%d",p++);
  8.    printf("\n");
  9.    for(p=&a[0];p<(a+10);p++)
  10.       printf("%d",*p);
  11. }
复制代码


求大神告知{:3_64:}


作者: nmvbxcz123    时间: 2015-4-7 19:58
程序的排版好复杂,排了半天。。。{:3_54:}
作者: sun397721060    时间: 2015-4-7 21:20
没有问题!!!!!

#include<stdio.h>
int main()
{
    printf("---:");
    int *p,a[10];
    p = a;

    for(int i = 0; i < 10; i++)
    {
        scanf("%d", p);
        p++;
    }
    for(p = &a[0]; p < (a+10); p++)
    {
        printf("%d\n",*p);
    }
    return 0;
}



作者: chnvi    时间: 2015-4-7 21:29
本帖最后由 chnvi 于 2015-4-8 17:16 编辑

没问题。。昨天分析错了{:2_30:}
作者: 365616804    时间: 2015-4-7 21:35
好难啊  真心看不懂
作者: super~bin    时间: 2015-4-7 21:52
已测试。。没问题呀
作者: 和鹏    时间: 2015-4-7 22:23
没错啊,哪里错了,告警也没有啊
作者: 37°天黑    时间: 2015-4-7 22:26
没错吧 ,这个我没看出来错
作者: yesha    时间: 2015-4-7 23:02
#include <stdio.h>      
int main()
{
   int *p,i,a[10];

   p=a;

   for(i=0;i<10;i++)
      scanf("%d",p++);
   
   printf("\n");

   for(p=&a[0];p<(a+10);p++)
      printf("%d\n",*p);
   return 0;
}
这个排版没有太大意义吧,如果是倒过来看还有点玩法
作者: Micro    时间: 2015-4-7 23:36
localhost:0318 xiaojunquan$ ./a.out
1
2
3
4
5
6
7
8
9
10

12345678910localhost:0318 xiaojunquan$

没有问题,你是忘记输入数据了吧。记得最好输入数据前写个printf函数提示一下更好。
作者: 鹏jiqing    时间: 2015-4-8 00:15
学习来了
作者: 初夜告白    时间: 2015-4-8 00:32
感觉没啥问题呀
作者: oucding    时间: 2015-4-8 08:54
nmvbxcz123 发表于 2015-4-7 19:58
程序的排版好复杂,排了半天。。。

没问题啊,我运行了没错啊,就是有个警告而已,你用什么编译连接的啊
作者: 流风124    时间: 2015-4-8 09:32
没有问题,但是编译的时候会有警告,警告的原因是 void main(),最好是用int main(),最后再 return 0; ,这样就完全没问题了,同时这也是一种编程的好习惯
作者: 13673696542    时间: 2015-4-8 13:10
也没看出什么毛病,看来还是我学的不够呀!
作者: waterfoxjie    时间: 2015-4-8 14:56
编译没问题的,不过这样写好像没什么太大意义感觉
作者: yuang4074    时间: 2015-4-8 16:06
09行错误,a+10概念理解错误
作者: zhaoqiankun    时间: 2015-4-8 21:12
可能还是我学的不够。
作者: 缤纷落叶    时间: 2015-4-8 21:32
p=a,a代表的数组名,可以这样*p=a[0](0~9都可以);p<(a.length+10)数组的长度+10
作者: 大路朝天    时间: 2015-4-8 21:40
不明觉厉
作者: 大家叫我小祥子    时间: 2015-4-8 21:56
我只想静静的水上一贴
作者: senheima    时间: 2015-4-8 22:09
改为int main()
作者: 游戏龙    时间: 2015-4-8 22:38
学习来了
作者: 王昱    时间: 2015-4-8 22:43
看不太懂。
作者: carescares    时间: 2015-4-8 22:47
没有问题,最好上传你的报错信息,帮你分析分析
作者: carescares    时间: 2015-4-8 22:48
没有问题,最好是把你的报错信息上传下,好分析
作者: guyinghua901018    时间: 2015-4-8 22:50
写的蛮好,p<(a+10)写的也蛮精炼.只是如果在xcode编译器默认main函数需要是int类型,并且返回0才算是正确退出.否则会警告
作者: Sange    时间: 2015-4-8 23:20
经过我多次研究    确定是  :没有问题   
作者: 我来也    时间: 2015-4-10 23:53
没啥问题。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2