要考省二了,C程序这玩意真复杂啊。各位帮我解答几个问题吧~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:41:23
问题比较简单可是我就是纠结......第一个
main()
{
int m,n;
m=7,n=7;
m=m++;
n=++n;
printf("m=%d,n=%d\n",m,n);
}
最后输出结果是M=8,N=8 这是怎呢得出的呢?我对赋值++ -- 这地方就是弄不明白,谭浩强老先生在书里里说的云山雾罩的= =求达人啊.....
第二个:
main()
{
int x;
scanf("%d",&x);
printf("%d是一个%s\n",x,(x%2==0?"偶数":"奇数"));
}
请达人解释%S是啥意思.....书上说是按字符串输出,但是具体怎么个意思不懂......
第三个....我都不好意思了
下面这几句话都错在哪啊?
1:a是实型变量,C语言允许进行赋值a=10,因此可以说实型变量里面允许存放征信值
2:在执行a=b之后,在内存中a和b存储单元中原有值都将被改变,a的值已由原值改为b的值,b的值由原值变为0
3:a=3,b=5 当执行了表达式a=b,b=a之后,a的值为5,b的值为3
第四个.....
是不是putchar('\n')也是换行?他和printf("\n")有啥区别?没区别吧?

暂时看书才看到这里。请各位尽情BS我然后帮我解答吧....谢谢!谢谢!

首先,你要对C产生兴趣,觉得很好玩,然后去学习
(1)对于++m 和m++ 先加加的就是先加1后再去用m的值 .而m++则是先用m的值,再去加1.最终两个都加1了
(2)就是一种格式,和实型的一样。输出地是字符串
(3)第1个小问题搞不清楚
第2个 a 的值是b的值,但是b的不变
第3个 这关系到运算顺序的问题,看附录优先级
第4个 没什么区别,就是表达形式不同
认真看 谭浩强的那本书 很有帮助的 我就是看那本书过的
O(∩_∩)O~ 加油吧

1、m=m++;先执行m=m(m=7),再执行m++(即m=m+1),所以最后m=8;
n=++n;限制性++n(即n=n+1,n=8了),再执行n=n,最后n=8;
2、%s就是控制符撒,就像%d一样,%d控制整数类型,%s控制字符串,针对这题就是后面的"偶数" "奇数" 撒。
3、(字打错了,整型,不是征信)。如果(实型变量)a=10,那么10就不是整型撒。
b的值不会改变。
a、b都为5.
肯定是换行撒,基本上没有什么区别。知识方法不一样的换行

1、M,N定义了数据类型INT,双+号在前的意思是自加1再进行赋值,双+号在后是赋值后再自加,前者优先级大于后者。
2、该程序是让你输入一个数判断奇偶像再由计算机输出你输入的数是奇是偶。
3、第一个,赋值和存放是两种概念,不能混淆,第二个,是b的值赋于a,而b值是没有改变的,这里要注意数据类型。第三个,执行后,b的值为5,
4、输出方式不同

第一个++n和n++都是自增运算,不同的是++n是n先自己加1然后再参加其他运算,n++是先参加运算,再自己加1.例如a=2,b=2,那么:
++a+b++=5 a=3 b=3
第二个x%2的意思是取余运算,例如3%2=1,5%2=1.
第三个不太明白,等高人吧

m=m++; 等价于
m=m;
m++;
其实直接写个m++;就行了
n=++n;等价于
n++;//同m++;