#include <stdio.h>
void main()
{int a=4,b=7;
printf(“%d\n”,(a=a+1,b+a,b+1));
}
以上程序中 printf语句的输出格式是什么意思?和printf(“%d\n”,a);有什么区别?
如果将内部括号去掉 改为printf(“%d\n”,a=a+1,b+a,b+1) 含义以及输出结果上有什么区别?(代课老师没讲 有点糊涂)
若定义变量x: double x; 则在变量输入时存储应用什么格式 是%d 还是 %f 还是别的什么?
另外 printf(“f=%d\n”,f,”g=%d\n”,g);和printf(“f=%d\n,g=%d\n”,f,g);意义相同么?
由于老师垃圾 基本属于自学 很多地方不明白 希望多多赐教
>> 本文固定链接: http://www.vcgood.com/archives/2425
么人教么???
在语句“printf(“%d\n”,(a=a+1,b+a,b+1));”中,最终的结果只输出最后一个“b+1”的值,所以和printf(“%d\n”,a);还是有区别的
如果是printf(“%d\n”,a=a+1,b+a,b+1) 的话就只输出“a+1”的值
其余的你可以上机操作一下,都很简单,实践是检验真理的唯一标准!!
#include <stdio.h>
void main()
{
int a=4,b=7;
printf(“%d\n”,(a=a+1,b+a));
这样再看下输出结果是12!
所以说表达式的计算是从左到右的。
所以说用的是表达式的最右边的值。
这个计算方向很受编译器影响,so:最好别这样写。
double是用%lf接收的。
%f是接不到double型数的。