问题1:
#include
#include
int main()
{
fun();
printf(“\a”);
printf(“%d”,sizeof(long int));
bool bRet = false;
_Bool bRet2 = false;
return 0;
}
void fun()
{
}
gcc -o hello -Wall -g -pedantic -std=c89 -ansi hello.c
并没有出现必须放在函数开头的警告信息?
是gcc不支持,还是?
问题2:
依然是c89和c99对函数的使用问题
看图:
依然用gcc测试,
gcc -o hello -Wall -g -pedantic -std=c89 -ansi hello.c
无论是c89还是c99,提示如下:
[root@localhost workspace]# gcc -o hello -Wall -g -pedantic -std=c99 -ansi hello.c
hello.c: In function ‘main’:
hello.c:6:2: warning: implicit declaration of function ‘fun’ [-Wimplicit-function-declaration]
fun();
^
hello.c:8:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
printf(“%d”,sizeof(long int));
^
hello.c: At top level:
hello.c:23:6: warning: conflicting types for ‘fun’ [enabled by default]
void fun()
^
hello.c:6:2: note: previous implicit declaration of ‘fun’ was here
fun();
^
两个问题。