鱼C论坛

 找回密码
 立即注册
查看: 3782|回复: 4

小甲鱼老师在c语言指针三课程中留下的题目

[复制链接]
发表于 2013-1-29 13:13:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

void main ()

{
        int i,*p,a[10],j;

        p=a;
   
   for (i = 0 ; i < 10 ; i++)
   {
           scanf ("%d",p++);
   }
  

printf ("\n");
for (j = 0 ; j < 10 ; j++,p++)
{
printf("%d",*p);

}

}

这个程序还是不知道错在哪里 ,希望大家能帮忙解释下 。

以下是我自己改的  
#include <stdio.h>

void main ()

{
        int i,*p,a[10],j;

        p=a;
   
   for (i = 0 ; i < 10 ; i++)
   {
           scanf ("%d",&(*p++));

             
   }
  

printf ("\n");
for (j = 0 , p=a ; j < 10 ; j++,p++)
{
printf("%ld",*p);

}

}

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-29 13:17:51 | 显示全部楼层
本帖最后由 仰望天上的光 于 2013-1-29 13:20 编辑

在两个for循环之间插入p = a;
晕,你改的程序没错啊,最多就是输出格式不好看而已
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-2-1 10:34:20 | 显示全部楼层
就是原理还是有点不清楚   为什么这么改  我是无意识之间  试试  就改出来的
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-1 11:42:38 | 显示全部楼层
这个好像是谭浩强版里的例题
经过第一个for循环,p的指向跑到数组最后面了
所以重新p=a。。拉回来。。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-2-1 22:34:39 | 显示全部楼层
这回  明白了  谢谢   ...... 困扰了很久了   嘿嘿  我是初学者
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 16:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表