首页 > 用户发贴区 > 编程问题提问区 > 菜鸟问题1~~诚心的老师进
2008
06-04

菜鸟问题1~~诚心的老师进

#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);意义相同么?


由于老师垃圾  基本属于自学   很多地方不明白   希望多多赐教


菜鸟问题1~~诚心的老师进》有 3 条评论

  1. avacool 说:

    么人教么???

  2. p258835510 说:

    在语句“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”的值
    其余的你可以上机操作一下,都很简单,实践是检验真理的唯一标准!!

  3. anDonE 说:

    #include <stdio.h>

    void main()

    {
        int a=4,b=7;

        printf(“%d\n”,(a=a+1,b+a));

    这样再看下输出结果是12!
    所以说表达式的计算是从左到右的。
    所以说用的是表达式的最右边的值。
    这个计算方向很受编译器影响,so:最好别这样写。
    double是用%lf接收的。
    %f是接不到double型数的。

留下一个回复