| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 303 人关注过本帖
标题:弱弱的C语言问题
只看楼主 加入收藏
we6540
Rank: 2
等 级:论坛游民
帖 子:37
专家分:11
注 册:2011-4-18
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:5 
弱弱的C语言问题
程序代码:
为什么不是反向输出的呢
#include <stdio.h>
#define M 10
main()
{
    int l(int *a);
int b[M]={-12,0,6,16,23,56,80,100,110,115};
int *p,c;
p=b;
l(p);
for(c=0;c<M;c++)
printf("%d\n ",b[c]);
}
int l(int *a)
{
    int *c,*j,*t,h,t1;
t1=(M-1);
c=*a;
j=a+M-1;
t=a+t1;
for(;c<t;c++,j--)//到这里为什么会跳过呢
{
h=*c;
*c=*j;
*j=h;
}
}
搜索更多相关主题的帖子: C语言 
2011-08-24 13:39
we6540
Rank: 2
等 级:论坛游民
帖 子:37
专家分:11
注 册:2011-4-18
收藏
得分:0 
是不是太弱弱了没人理这个问题呢
2011-08-24 13:54
编程达人
Rank: 2
等 级:论坛游民
帖 子:62
专家分:66
注 册:2011-8-11
收藏
得分:0 
看不懂
2011-08-24 14:02
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:10 
c=*a; 改成
c = a;

不然的话 c = *a, c == -12 == 0xfffffff4, 4GB多了,除非你的内存已经占用了比 0xfffffff4 还多,不然的话 c < t 不成立。
如果上面的情况真的满足了,就会有不好的事发生~
2011-08-24 14:15
loveshuang
Rank: 9Rank: 9Rank: 9
来 自:湖北武汉
等 级:蜘蛛侠
帖 子:270
专家分:1198
注 册:2010-11-14
收藏
得分:10 
      c是指针,你给他复制为*a就是数组的第一个元素,for循环肯定就是错误执行的了。楼主的变量设的太多太杂了。
    变量简化:
#include <stdio.h>
#define M 10
main()
{
    int l(int *a);
    int b[M]={-12,0,6,16,23,56,80,100,110,115};
    l(b);
    for(int i=0;i<M;i++)
        printf("%d   ",b[i]);
    putchar('\n');
}
int l(int *a)
{
    for(int j=0;j<M/2;j++)//到这里为什么会跳过呢
    {
        int temp=a[j];
        a[j]=a[M-1-j];
        a[M-1-j]=temp;
    }
    return 0;
}

2011-08-24 14:15
we6540
Rank: 2
等 级:论坛游民
帖 子:37
专家分:11
注 册:2011-4-18
收藏
得分:0 
谢谢你们我解决!
2011-08-24 14:37
快速回复:弱弱的C语言问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012410 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved