摘要:
strlen返回一个类型为size_t的值,这个类型在头文件stddef.h中定义,他是一个无符号整数类型。在表达式中操作无符号书可能导致不可预料的结果if ( strlen(x) >= strlen(y) ...if ( strlen(x) - strlen(y) >= 0) ...第一条语句可以按照你的想法去工作,但第2条语句将永远是真,strlen 的结果是无符号书,所以 >= 左边的表达式也将是无符号数,而无符号数 觉不可能使负的。unsigned int a, b, c;a = 3;b = 4;c = a - b;printf("%ud",c); 阅读全文