2012-05-25 60 views
0

我想编译一个非常简单的C程序。使用自动安装程序安装MinGW,然后在我的环境变量上添加C:\ MinGW \ binmingw c编译

test.c的

#include <stdio.h> 
int main() 
{ 
    printf("Hello"); 
    return 0; 
} 

当我编译如下:

的gcc -o test.c的TEST.EXE

但我得到这个错误,

test.c:函数'main':test.c:5:12:warning:字符常量 其类型过长[由defau启用] test.c:5:5:警告: 传递参数'printf'中的1使得整数指针无 cast [默认启用] c:\ mingw \ bin ../ lib/gcc/mingw32/4.6.2 /../../../ .. /include/stdio.h:294:37: 注:应为“为const char *”,但参数的类型“诠释”

赦免为是菜鸟,想学习的东西值得的。谢谢!

+4

您正在使用哪种文本编辑器?它可以用单引号替换双引号吗? –

+1

您的代码编译在我的桌面minGW上。还有其他事情正在发生,可能会嵌入不可打印的字符,或者Dmitri说你的编辑玩的不公平。 –

+1

记事本++,哦,我现在看到为什么。但问题是,它现在编译,为什么我没有看到任何输出? –

回答

4

,你得到的比赛正是GCC将产生以下代码中的错误消息的错误消息:

#include <stdio.h> 
int main() 
{ 
    printf('Hello'); 
    return 0; 
} 

这是双引号得到替换为单引号。

使用记事本或更好的Notepad ++来检查发生了什么。

+0

记事本++,哦,我现在看到为什么。但问题是,它现在编译,为什么我没有看到任何输出? –

+1

不确定为什么没有输出。尝试用'“你好\ n”'替换'“你好”''。看看这是否改变了一切。 –

+0

我做了,但仍然没有输出。它只是创建一个.exe文件,我试图双击它,但它只是弹出一秒。 –