| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 756 人关注过本帖
标题:k+++i应该如何解释???
只看楼主 加入收藏
rjvsky
Rank: 3Rank: 3
来 自:陕西西安
等 级:论坛游侠
帖 子:77
专家分:106
注 册:2012-3-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:17 
k+++i应该如何解释???
本人菜鸟一个····求解···
搜索更多相关主题的帖子: 如何 
2012-03-09 00:00
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:3 
k+++i的一个变量个旁边的两个‘+‘号是要用()括起来的,要么就是这样(k++)+i,要么就是k+(++i),如果像你这么写是属于语法错误的吧。
2012-03-09 01:33
杨松松
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:142
注 册:2011-12-3
收藏
得分:3 
(k++)+i指的是k加i然后k再加1
k+(++i)指的是k与i加上1后的和
当然、这样写系统会有提示的
2012-03-09 12:43
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:3 
++符号的优先级高,这么写默认应该是(k++)+i
2012-03-09 14:19
q504448903
Rank: 2
等 级:论坛游民
帖 子:5
专家分:26
注 册:2011-8-26
收藏
得分:3 
顶,楼上是正确的
2012-03-09 14:29
nextleave
Rank: 2
等 级:论坛游民
帖 子:52
专家分:92
注 册:2011-9-12
收藏
得分:3 
踩,楼上是片面的。因为根据编译器的设计原则,它会最大限度的读取有效字符信息。即k+++因为两个加号是自加,而三个加号是无效字符。所以编译器会解读成为(k++)+,如果是k+++++则应该为[(k++)++]+.
2012-03-09 14:52
Dongtengpeng
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2012-3-4
收藏
得分:3 
以下是引用share32在2012-3-9 14:19:42的发言:

++符号的优先级高,这么写默认应该是
我用VC验证过了,好像是这个说法。反正和(k++)+i算出的结果是一样的。
2012-03-09 21:50
chan_
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:84
专家分:122
注 册:2012-2-29
收藏
得分:3 
顶楼上!!
2012-03-09 22:04
Dongtengpeng
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2012-3-4
收藏
得分:0 
回复 6楼 nextleave
我在VC里实验过了。
程序代码:
/*
    由k+++i问题不确定的延伸.
                                */



#include<stdio.h>

void main(void)
{
    int k=1, i=2, y;

    y = k + + + + + i;

    printf("y=%d\nk=%d\ni=%d\n", y, k, i);

    getch();

}


/*
    y=3
    k=1
    i=2
            */

和你说的不一样啊。我搞不懂为什么会是这个结果- -
求解~
2012-03-09 22:10
Dongtengpeng
Rank: 1
等 级:新手上路
帖 子:16
专家分:2
注 册:2012-3-4
收藏
得分:0 
回复 7楼 Dongtengpeng
程序代码:
/*
    本程序是为了探究k+++i会是什么结果
                                            */


#include<stdio.h>

void main(void)
{
    int k=1, i=2, y;
   
    y = k+++i;

    printf("k+++i的结果是%d\n", y);

    printf("k=%d\n", k);

    printf("i=%d\n", i);

    getch();
}


/*    
    k+++i的结果是3
    k=2
    i=2

   
    结论:++符号的优先级高,这么写默认应该是(k++)+ i.
         
                                                            */
2012-03-09 22:12
快速回复:k+++i应该如何解释???
数据加载中...
 
   



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

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