鱼C论坛

 找回密码
 立即注册
查看: 2055|回复: 14

新手关于-i++的求职,大神帮忙

[复制链接]
发表于 2015-7-9 19:20:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
void main ()
{
        int i=8;
        printf("%d\n",++i);
        printf("%d\n",--i);
        printf("%d\n",i++);
        printf("%d\n",i--);
        printf("%d\n",-i--);
        printf("%d\n",-i++);

}
最后一个printf("%d\n",-i++);运算结果为啥是-7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-9 20:46:36 | 显示全部楼层
        printf("%d\n",++i);    // 执行完这句之后  i=9
        printf("%d\n",--i);     //  i=8
        printf("%d\n",i++);   // i=9
        printf("%d\n",i--);     // i=8
        printf("%d\n",-i--);   // i=7
        printf("%d\n",-i++);  // 输出 -7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-9 20:52:55 | 显示全部楼层
自己搜索论坛~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-9 22:18:14 | 显示全部楼层
我也是刚刚学c 现在刚刚学完前两章 #include <stdio.h>
void main ()
{
         int i=8;
         printf("%d\n",++i);   这里是9 因为 ++在前面 所以i要加1后在输出 这时i=9 挨着下面的--i (i=9)
         printf("%d\n",--i);   (i=9 )--i就等于8了
         printf("%d\n",i++);上面的i=8 然而i++  ++在后面(后缀) i要先输出 再加1 所以输出的的是8 这时i就等于9了  接着下面这样类推
         printf("%d\n",i--);  输出9 然而输出后i--=9-1等于i=8
         printf("%d\n",-i--); 输出-8                -i--=-(8-1)
         printf("%d\n",-i++); -7

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-9 23:28:27 | 显示全部楼层
1164323996 发表于 2015-7-9 22:18
我也是刚刚学c 现在刚刚学完前两章 #include
void main ()
{

谢谢了,我懂了{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-10 19:28:16 | 显示全部楼层
#include<stdio.h>

void main()
{
        int i=5,j=5,p,q,x,y,a=2,b=2;
        p=(i++)+(i++)+(i++);
        q=(++j)+(++j)+(++j);

        x=a+++a+++a++;
        y=++b+++b+++b;

        printf("%d,%d,%d,%d,%d\n",p,q,i,j);

        printf("%d,%d,%d,%d,%d\n",x,y,a,b);
}


对这个程序的结果我不是很理解,希望大家能解答一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-10 19:51:09 | 显示全部楼层

感觉研究这种题除了应付考试外貌似没什么用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-10 20:47:49 | 显示全部楼层
哥斯拉不说话 发表于 2015-7-10 19:51
感觉研究这种题除了应付考试外貌似没什么用。

求详解。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-10 22:05:47 | 显示全部楼层

程序有问题,x,y 赋值的那两行,不能那样写,必须加括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-10 22:09:38 | 显示全部楼层


比如我写了一个
int a=1, b;
b = a+++a;
这里就有两种可能性
1. b = (a++)+a;
2. b = a+(++a);
所以不能这样写,必须加括号,而且你不加编译不会通过。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-12 20:55:42 | 显示全部楼层
哥斯拉不说话 发表于 2015-7-10 22:09
比如我写了一个
int a=1, b;
b = a+++a;

哦~有道理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-12 20:57:42 | 显示全部楼层
正好有两个编程题,嘿嘿
1、字符处理:输入某字符串,以#结束。输出的字符串要满足以下要求:1,删除元音字母(包括大小写的)。2,辅音字母前加"." 3, 字母大小写互换。例如:输入tour#,输出.T.R
一坐标轴表示某道路,从0开始到L,整数位置上都种有一棵树。现该路修建地铁,要砍掉铁路线路上的树木(铁路可以重叠)。例如:L等于10,铺设4条铁路,坐标是1到2,2到3,2到8,3到5。那么1到8坐标点的树都要砍掉,剩下0,9,10三棵。程序要求,输入L,输入铺设铁路条数m。然后输入m组铁路的坐标。求剩下多少棵树。
这个你会吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-12 21:26:36 | 显示全部楼层
1164323996 发表于 2015-7-9 22:18
我也是刚刚学c 现在刚刚学完前两章 #include
void main ()
{

printf("%d\n",-i++); -7
求这个的步骤,我也不明白,谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-13 00:57:48 | 显示全部楼层
李小胖 发表于 2015-7-12 21:26
printf("%d\n",-i++); -7
求这个的步骤,我也不明白,谢啦

printf("%d\n",i--);    //此步骤运算之前i值为9,  因为要输出的为i--      要后运算,  所以这步骤结束后i值输出                      为9                 然后运算i--   此时i值为8
printf("%d\n",-i++); //此步运算之前i值为8     因为i++是之后运算的,所以此时i值仍为8,前面有符号所以加上“-”输出为-8              然后再运算i++    所以i值就变为7,
printf("%d\n",-i++); //此步运算之前i值为7      因为i++是之后运算的,所以此时i值仍为7   前面有符号所以加上“-”输出为-7             然后再运算i++    所以i值就变为8

因为后面没有输出的函数了,所以i值也就不会再输出  如果你后面加个printf("%d\n",i);    i值会输出8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-13 12:52:35 | 显示全部楼层
yonjay 发表于 2015-7-12 20:57
正好有两个编程题,嘿嘿
1、字符处理:输入某字符串,以#结束。输出的字符串要满足以下要求:1,删除元音 ...

像这样吗?
360截图20150713124843236.jpg
360截图20150713125005965.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表