u654f 发表于 2015-12-18 12:46:08

C语言疑问

本帖最后由 u654f 于 2015-12-18 18:37 编辑

难道都是编译器问题???我用的VS2010

下面是运行情况加Printf跟不加的差别,不知道啥原因。

ryxcaixia 发表于 2015-12-18 12:46:09

本帖最后由 ryxcaixia 于 2015-12-18 14:46 编辑

楼主好巧 我再公司做c++算法开发 一直用的也是2010

对于第一个问题
方便把全部源码粘贴上来嘛 方便调试

第二个问题
不用纠结i++ ++i++-- 这种问题,只有中国cc++教科书才会出现这种东西 毫无节操下限的秀语法
不放心直接反汇编看一眼 啥都清楚了


以此类推

u654f 发表于 2015-12-18 18:22:50

ryxcaixia 发表于 2015-12-18 14:37
楼主好巧 我再公司做c++算法开发 一直用的也是2010

对于第一个问题


只是书上练习题,直接
#include "stdio.h"
#include "math.h"
#include "string.h"

void main()
{
        float sco,av;
        int i;
        printf("\ninput 5 scores:\n");
        for(i=0;i<5;i++)
                scanf("%f",&sco);
        av=aver(sco);
        printf("average score is %5.2f",av);
        printf("\n\n");
        system("pause");

}


float aver(float a)
{
        int i;
        float av,s=a;
        for(i=1;i<5;i++)
                s=s+a;
        av=s/5;
        //printf("s=%f,av=%f\n",s,av);
        return av;
}

ryxcaixia 发表于 2015-12-18 20:05:06

我这边试了下 并没有不一样 结果是一样的
printf函数 只做格式化处理 不对原始数据做任何修改

u654f 发表于 2015-12-19 09:04:13

ryxcaixia 发表于 2015-12-18 20:05
我这边试了下 并没有不一样 结果是一样的
printf函数 只做格式化处理 不对原始数据做任何修改

那就奇怪了,你看我补充的最后张图片。。。

小甲鱼 发表于 2015-12-19 11:23:54

测试不存在楼主所述现象……

u654f 发表于 2015-12-23 12:29:32

小甲鱼 发表于 2015-12-19 11:23
测试不存在楼主所述现象……

好吧,鱼币给版主了,我想甲鱼哥也不缺鱼币。
页: [1]
查看完整版本: C语言疑问