| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 899 人关注过本帖
标题:指针问题。求解
只看楼主 加入收藏
taojingwen
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-5-5
收藏
 问题点数:0 回复次数:10 
指针问题。求解
#include<stdio.h>
void main()
{
int a[]={6,7,8,9,10};
int *p=a;
*(p++)+=123;
printf("%d,%d\n",*p,*(++p));
}

请问在这个程序中,*(p++)+=123;是不是没有执行啊。是不是错误的赋值语句啊,输出结果为8,8。
是为什么啊?
搜索更多相关主题的帖子: 指针 求解 
2007-09-04 09:40
taojingwen
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-5-5
收藏
得分:0 
还有一个问题:


某32位系统下, C++程序,请计算sizeof 的值(5分).
char str[] = “http://www.ibegroup.com/”
sizeof(str)=?

答案给的是17,我不知道为什么?

I Believe I Can Fly
2007-09-04 09:50
jingjingyls
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-12
收藏
得分:0 
执行了!*(p++)+=123执行后a[0]=129,p指向a[1]。输出的是a[2],a[2]结果当然是8,8
下面答案是25吧!

2007-09-04 10:53
B2Mouse
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-9-4
收藏
得分:0 

同意楼上的。


2007-09-04 11:08
xiaopi_zj
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-9-1
收藏
得分:0 
++p,p++ 乱啊
#include<stdio.h>
void main()
{
int a[]={6,7,8,9,10};
int *p=a;
*(p++)+=123;
printf("%d,%d\n",*p,*(++p));
}
把最后的printf内容改成printf("%d,%d\n",*(++p),*p); 会输出什么
2007-09-04 11:44
B2Mouse
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-9-4
收藏
得分:0 
应该是7,8吧,自己可以运行看看,我没运行,记得printf()的结核性是自右向左的。

2007-09-04 12:05
勇勇
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-9-4
收藏
得分:0 
那要看是什么编译器,不同的编译器结果就不一样!
这是关于编译器的问题。
2007-09-04 12:17
xiaopi_zj
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-9-1
收藏
得分:0 
恩? 还会跟编译器有关?不会吧
2007-09-04 12:27
peswe
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2006-11-22
收藏
得分:0 
应该是8,7,注意printf()函数的结合性就不难知道了!~

C斗士~~~fighting!!!!
2007-09-04 13:27
努力学编程
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-8-25
收藏
得分:0 
如果printf()是右结合性,TC就这样,所以8,8是对的.
2007-09-04 19:01
快速回复:指针问题。求解
数据加载中...
 
   



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

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