社区
C++ Builder
帖子详情
新问题啊, 很基本的C, 但却很晕的...
alloutoflove
2007-09-13 05:24:36
今天被这个问题搞晕了. 代码如下:
char *buf = "123456";
char b;
b = *(buf++ );
问题是b的值是多少?
想当然地以为b应该等于2,不过我发现事实上错了, 在VC6/VC2005/bcb6的编译器得出的结果都是1.
意思就是
b = *( buf++ );
和
buf++;
b = *buf;
并不一样...
请问一下有没有什么依据可查, 为什么编译器要这样?
...全文
174
4
打赏
收藏
新问题啊, 很基本的C, 但却很晕的...
今天被这个问题搞晕了. 代码如下: char *buf = "123456"; char b; b = *(buf++ ); 问题是b的值是多少? 想当然地以为b应该等于2,不过我发现事实上错了, 在VC6/VC2005/bcb6的编译器得出的结果都是1. 意思就是 b = *( buf++ ); 和 buf++; b = *buf; 并不一样... 请问一下有没有什么依据可查, 为什么编译器要这样?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alloutoflove
2007-09-14
打赏
举报
回复
我知道楼上所说的道理, 可能是我理解不太清楚吧, 所谓的先参与运算, 就是指不管是否有括号, 先参与本条语句的运算, 并不是按我想像的括号中是一条语句...
额....结帖吧..
n27741
2007-09-14
打赏
举报
回复
还是帮你复习一下吧 我也是翻了一下书的
int i = 0;
int j = i++; //j = 0
j = ++i; //j = 2
i++ 是先参与运算 然后再自增
++i 是先自增 然后再参与运算
just so so :)
n27741
2007-09-14
打赏
举报
回复
char *buf = "1234";
char b ;
b=*(++buf);
ShowMessage(b);
这样写就没问题了
++buf 是先移动指针 然后再取值
buf++ 是先取值 再移动指针
kmfangxun
2007-09-13
打赏
举报
回复
//-----------------------------
b = *(buf++ );
等价于
b=*buf; //先赋值
buf=buf+1; //后加
//-----------------------------------------------------------------------------
如果
b = *(++buf );
等价于
buf=buf+1; //先加
b=*buf; //后赋值
//-----------------------------------------------------------------------------
SYNOPSYS™渐
晕
SYNOPSYS™渐
晕
概述 Glass Table玻璃库的Graph功能 APS和WAP 3含义 CFREE含义 VSET渐
晕
设置 优化 FVF计算渐
晕
因子 设置工作目录 选择Dbook工作目录 参考Donald Dilworth《Lens Design Automatic and quasi-autonomous computational methods and techniques》第11章 二维图 FETCH C11L1.RLE LE打开透镜编辑...
使用GDAL实现DEM的地貌
晕
渲图(三)
继续(一)(二)的内容,生成DEM彩色的地貌
晕
渲图。
图像特效---滤镜
晕
影特效调节算法
本文详细介绍了滤镜
晕
影特效算法的实现过程,并给出了android 开发中的C代码,跟大家分享一下,希望大家喜欢!
C语言数字图像处理进阶---14
晕
角滤镜
本文介绍了在修图中常见的
晕
角滤镜特效的常用算法实现,并给出了C语言的代码实现。
图像滤镜艺术---图像滤镜
晕
影调节算法研究
本文详细介绍了滤镜
晕
影特效算法的实现过程,并给出了android 开发中的C代码,跟大家分享一下,希望大家喜欢!
C++ Builder
13,871
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章