新手关于-i++的求职,大神帮忙
#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 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
自己搜索论坛~ 我也是刚刚学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
} 1164323996 发表于 2015-7-9 22:18
我也是刚刚学c 现在刚刚学完前两章 #include
void main ()
{
谢谢了,我懂了{:1_1:} #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);
}
对这个程序的结果我不是很理解,希望大家能解答一下 yonjay 发表于 2015-7-10 19:28
#include
void main()
感觉研究这种题除了应付考试外貌似没什么用。 哥斯拉不说话 发表于 2015-7-10 19:51
感觉研究这种题除了应付考试外貌似没什么用。
求详解。。{:5_91:} yonjay 发表于 2015-7-10 20:47
求详解。。
程序有问题,x,y 赋值的那两行,不能那样写,必须加括号 yonjay 发表于 2015-7-10 20:47
求详解。。
比如我写了一个
int a=1, b;
b = a+++a;
这里就有两种可能性
1. b = (a++)+a;
2. b = a+(++a);
所以不能这样写,必须加括号,而且你不加编译不会通过。 哥斯拉不说话 发表于 2015-7-10 22:09
比如我写了一个
int a=1, b;
b = a+++a;
哦~有道理 正好有两个编程题,嘿嘿
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组铁路的坐标。求剩下多少棵树。
这个你会吗? 1164323996 发表于 2015-7-9 22:18
我也是刚刚学c 现在刚刚学完前两章 #include
void main ()
{
printf("%d\n",-i++); -7
求这个的步骤,我也不明白,谢啦 李小胖 发表于 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 yonjay 发表于 2015-7-12 20:57
正好有两个编程题,嘿嘿
1、字符处理:输入某字符串,以#结束。输出的字符串要满足以下要求:1,删除元音 ...
像这样吗?
页:
[1]