摘要:
1.当看到这样一句指令mallov(strlen(str));,几乎就可以认为它是错误的,而mallov(strlen(str + 1));才是正确的,因为大家总是会忽略字符串结尾的'/0'字符2.ANSI字符中零的位模式被称为'NUL',用于结束一个ACSⅡ字符串,很多人都不知道哦3.switch语句中的case后面只能跟常量值或常量表达式,const都不可以,因其依旧是变量4.break statement within loop or switch,别指望break可以跳出别的什么东西哦5.ANSI C引入了一个新特性是相邻的字符串常量将被自动合成一个字符 阅读全文
摘要:
近日在写程序时,无意间遇到了错误,经反复推敲和调试,确定了错误就出在无符号类型下,百度许久,总结一下。 相信很多人都知道关于C语言的标准大致有两种,一个是老的K&RC标准,一个是新的ANSI C标准(当然,这也不能算新了),这两种标准关于一些细节方面有很多的不同,但毕竟标准只允许改正,不允许废除,就像intel 8086的段地址:偏移地址的寻址方式也不得不为了兼容性而一直保留着一样,而C语言标准的改变,有人称之为“安静的改变”。int main(void){ if(-1 < (unsigned int)1) { printf("ANSI C"); } e... 阅读全文