一个奇怪的语法问题

#include <stdio.h>
#include <string.h>
//#include <iostream>
#include <math.h>
#include <stdlib.h>
//using namespace std;

int main()
{
    double a = (-4.0+sqrt(7.0))/3.0;
    double b = (-4.0-sqrt(7.0))/3.0;
    printf("%f\n%f\n", a, b);
    return 0;
}

  以上代码,运行正常:

  尝试把注释去掉,输出就有问题了(控制台什么都不输出,电脑管家偶尔还会报病毒)。

  注意到return异常,一般应该return 0的,应该是std命名空间污染了标准输入输出printf。

  软件环境Codeblocks12.11,win8.1。后在win7系统下测试,却没有出现这个问题。

posted @ 2014-05-05 23:29  芒果布丁  阅读(148)  评论(0编辑  收藏  举报