| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 668 人关注过本帖
标题:小问题,帮忙解决一下
只看楼主 加入收藏
纯情小郎君
Rank: 2
等 级:论坛游民
帖 子:84
专家分:80
注 册:2011-12-12
收藏
得分:0 
今天复习的时候恰好发现一道很类似的题,供楼主参考
程序代码:
main()
{int a[5]={1,2,3,4,5},*pa=a;
while(pa<a+5)
{printf("%d",*pa);
pa++;}

这里的a+5表示最后一个元素的之后的下标,而pa指针从第一个元素移动,这里这样表达就木有问题

老师说,2B是通向梦想的第一步
2012-02-27 14:31
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
楼主的程序在vc 6.0 上是死循环。验证完毕。

梅尚程荀
马谭杨奚







                                                       
2012-02-27 16:22
真的很菜
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:94
专家分:151
注 册:2012-2-18
收藏
得分:0 
指针不懂啊
2012-02-28 00:23
qq312154421
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:124
专家分:120
注 册:2010-6-7
收藏
得分:0 
指针变量P是不能进行加法运算的,所你for( p=a; p<p+5; p++ )这里的p+5错了。

程序代码:
#include "stdio.h"
void main()
{
    int    a[5]={1, 2, 3, 4, 5}, *p, i;
   
    for( p=a; p<a+5; p++ )
        printf("%d  ", *p);
    p = a;
    printf("\n%d\n", *(p+4));  //而且这里的*(p+5)也是错的,下标已经越界了这是表示第6个原素
} 


[ 本帖最后由 qq312154421 于 2012-2-28 11:00 编辑 ]

勤奋不止,自强不息。
2012-02-28 10:54
快速回复:小问题,帮忙解决一下
数据加载中...
 
   



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

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