1、printf()函数的参数是字符串,可以直接使用字符串,也可以使用一个字符指针,字符数组。不能使用字符,如printf('\n'),编译时不会报错,但运行时会产生错误。
2、变量的定义要放在所有语句之前,例如
char name[5]={'l','i','u',};
printf(name);
int i=145;
会报一个 error C2143: syntax error : missing ';' before 'type'的错误
3、字符数组初始化时可以当多于字符长度个数的字符,如下:
char name[5]="snail" //编译不会出错,但打印字符串时snail后可能会有乱码。
char name[5]="snailaaa" //编译时会有一条警告,说字符越界,但可以运行,打印字符串时,打印出前五个字符,后面是乱码。
该问题在gcc中也有,但vc在2010已解决这个问题,如果超出字符长度会编译错误。
4、c语言的入口函数是main函数,因此不能在进入main函数之前调用其他的函数,如下代码:
int *f=(int *)malloc(sizeof(int)*1000);
int main()
{
……
}
编译是不成功的,正确的做法是将分配内存的操作放在main函数内部。