幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2405|回复: 5

[通用编程] 程序问题

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-7-16 00:21:01 | 显示全部楼层 |阅读模式
#include<stdio.h>
void main()
{
    int a[5],b[5];
    int *p1,i;
    int    *p2;
   
    printf("请输入5个整数:");
    for (i=0;i<5;i++)
    {
        scanf("%d",&a);
      
    }
    printf("原始数组:");
    for (i=0;i<5;i++)
    {
        printf("%d  ",a);
    }
    printf("左右反转顺序:\n");

    p1=a;
    p2=b+4;
    for(;p1<a+5;p1++,p2--)
        *p2=*p1;
     p2=b; ----------------------------------->为什么这里要加上这句才能正常运行呢,
                    在上面的循环中不是已使p2回到b了吗?
    for(;p2<b+5;p2++)
        printf("%d ",*p2);

   
}
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

20

主题

197

帖子

2641

积分

⑥精研

积分
2641
QQ
发表于 2007-7-16 20:23:27 | 显示全部楼层
事实上循环中的计数与下面计算是没有关系的.....比如
for(i=1;i>10;i++)
      i=10;
并不影响整个循环的十次运行.....因为在for里i已经是局部变量了.
签名要少于60,SO,i haven't upload my pic
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-7-16 23:18:17 | 显示全部楼层
for(i=0;i<10;i++)
    {
        i=10;
        printf("*");
    }
影响啊,好像这样,只可以打印一次 [s:3]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2007-7-16 23:33:25 | 显示全部楼层
如果这样定义
for(int i=0;i<10;i++)
{
// i只在这里起作用
}
如果是lz那种,那么i不是for循环的局部变量。

但无论如何,
事实上循环中的计数与下面计算是没有关系的.....比如
for(i=1;i>10;i++)
      i=10;
并不影响整个循环的十次运行.....因为在for里i已经是局部变量了.
这种说法是不对的……

lz的问题:

p1从a开始一直到a+5,那么有a+1,a+2,a+3,a+4,a+5
而p2从b+4开始,也有这么多次循环:
b+3,b+2,b+1,b,b-1...

所以循环结束的时候,p2指向的不是b而是b-1

正确的写法是把p2放在循环里面
{
*p1=*p2;
p2--;
}

这样p2就会少执行一次……

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

20

主题

197

帖子

2641

积分

⑥精研

积分
2641
QQ
发表于 2007-7-17 09:37:56 | 显示全部楼层
看来昨晚我病得不轻啊....四处说胡话..... [s:5]
真是太对不起了....
签名要少于60,SO,i haven't upload my pic
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-7-17 14:15:06 | 显示全部楼层
别整天顾着看靓女 [s:5]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-2 20:51 , Processed in 0.029881 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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