2011-11-15
c语言中只有 && || ?: , 四个运算符存在规定求值顺序!其它的都是未定义的,特别的赋值运算符不保证任何求值顺序。
检查 a+b是否溢出 if ( a > INT_MAX - b)
... ;//处理
同名全局变量只能定义一次,否则与系统实现有关!声明的类型一定要跟定义一样!全局变量很容易出错。
static 限制作用域在一个源文件内,对其它源文件不可见
库函数
int main()
{
char c;
while( ( c = getchar()) != EOF) //问题代码
putchar(c);
return 0;
}
getchar()函数一般返回标准输入文件的下一个字符,当没有输入时返回EOF。但getchar返回的是int型,而c是char型,所以可能会出现bug。
FILE *fp;
fp = fopen(file ,"r+"); // r+ 表示对文件进行输入和输出操作
但为了保持与过去不能对文件同时读写程序的兼容性,一个输入操作后不能直接跟着一个写操作。
反之亦然,必须在其中插入fseek函数的调用。