1, 计算sizeof表达式和strlen表达的值(32位操作系统)。
char s1[] = “”;
char s2[] = “Hello World”;
char *p = s2;
char *q = NULL;
void *r = malloc(100);
sizeof(s1) = 1; sizeof(s2) = 12; sizeof(p) = 4; sizeof(q) = 4; sizeof(r) = 4;
strlen(s1) = 0; strlen(s2) = 11; strlen(p) = 11; strlen(q) = 没有输出; sizeof(r) 从void* 到 const char* 转换失败;
char s1[10] = {‘m’, ‘o’, ‘b’, ‘I’, ‘l’};
char s2[20] = {‘A’, ‘N’, ‘S’, ‘I’, ‘\0’, ‘C’, ‘+’, ‘+’};
char s3[6]= {‘I, ‘S’, ‘O’, ‘C’, ‘+’, ‘+’};
strlen(1) = 5; strlen(s2) =4; sizeof(s3) = 不确定;
说明:sizeof : 查询对象或类型的大小, 字节数;strlen : 返回所给字节字符串的长度, 在一个字符数组中,字符的数量是从指针或数组中第一个元素至遇到且不包括第一次出现的null 字符。
bool flag 与 “零值” 比较的 if 语句:
if(flag)
if(!flag)
float x 与 “零值” 比较的 if 语句:
// 精度EPSILON根据应用要求而定
Const float E