| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5122 人关注过本帖
标题:重复赋值的指针和*(++p)........................
只看楼主 加入收藏
JENNET
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-28
收藏
 问题点数:0 回复次数:118 
重复赋值的指针和*(++p)........................

#include "stdio.h"
main()
{ int a[]={1,2,3,4,5,6},*p=a;
p="abcdefg";
printf("%c",*(++p));
}

这里测试p的值是c,为什么不是b呢?假如把第三或第四语句删除答案又是b了.
++p的加值与指针类型占用单元数有关?所以+2,而且还是在重复赋值时产生?

搜索更多相关主题的帖子: 赋值 指针 
2006-06-19 17:20
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-19 17:23
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
引用某人话(略微修改).一个女性的ID.一个美丽的头像.就是在BC驰骋的本钱

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-19 17:25
JENNET
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-5-28
收藏
得分:0 
int a[]={1,2,3,4,5,6},*p=a;
printf("%c",*(++p));

这里出来的是2.又不是3.

CGCHINA REVOLUTION.....
2006-06-19 17:31
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用JENNET在2006-6-19 17:20:47的发言:

#include "stdio.h"
main()
{ int a[]={1,2,3,4,5,6},*p=a;
p="abcdefg";
printf("%c",*(++p));
}



int 与 char 的字节问题!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-19 17:38
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 

楼主定义的指针p是int型,++p指针地址加上sizeof(int),你用的编译器算出来sizeof(int)为2,所以p指向C,你又打印%c,自然就只取指针指向的数的8位。你试试打印%d看看


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2006-06-19 17:59
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
良好的头饰是成功的一半
以下是引用young在2006-6-19 17:59:52的发言:

楼主定义的指针p是int型,++p指针地址加上sizeof(int),你用的编译器算出来sizeof(int)为2,所以p指向C,你又打印%c,自然就只取指针指向的数的8位。你试试打印%d看看

楼主在TC下出来一个'c'
若在VC下会出来一个'e'
我已经试过了。young好样的,正解。

[此贴子已经被作者于2006-6-19 18:24:37编辑过]


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-19 18:14
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-19 20:18
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-19 20:47
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
其实应该支持网络实名制度

淘宝杜琨
2006-06-19 22:03
快速回复:重复赋值的指针和*(++p)........................
数据加载中...
 
   



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

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