cod*_*ker 88
检查第一个字符是否为'\ 0'.您还应该检查指针是否为NULL.
char *c = "";
if ((c != NULL) && (c[0] == '\0')) {
printf("c is empty\n");
}
Run Code Online (Sandbox Code Playgroud)
您可以将这两个检查放在一个函数中,以便于重用.
编辑:在if语句中可以像这样读取,"如果c不为零且字符数组'c'的第一个字符不是'\ 0'或零,那么......".
在&&
简单地结合了两个条件.这基本上就像这样说:
if (c != NULL) { /* AND (or &&) */
if (c[0] == '\0') {
printf("c is empty\n");
}
}
Run Code Online (Sandbox Code Playgroud)
如果你不清楚,你可能想要一本好的C编程书.我可以推荐一本名为"The C Programming Language"的书.
相当于上述的最短版本将是:
if (c && !c[0]) {
printf("c is empty\n");
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*som 11
我的首选方法:
if (*ptr == 0) // empty string
Run Code Online (Sandbox Code Playgroud)
可能更常见:
if (strlen(ptr) == 0) // empty string
Run Code Online (Sandbox Code Playgroud)