输入字符串为空时,输出null c语言中怎么编
时间: 2024-09-20 12:01:51 浏览: 40
在C语言中,当输入字符串为空(通常是指指针指向空字符'\0'或者NULL)时,你需要特别处理这种情况,因为直接访问可能会导致未定义的行为。下面是一个简单的示例,展示了如何检查并处理这种情况:
```c
#include <stdio.h>
#include <string.h> // 需要用到strlen函数
char* getNonNullString(const char* input) {
if (input == NULL || strlen(input) == 0) { // 检查输入是否为空
printf("输入字符串为空,返回空指针\n");
return NULL; // 返回NULL表示字符串为空
} else {
return input; // 如果非空则直接返回
}
}
int main() {
char str1[] = "";
char* str2 = NULL;
char* result1 = getNonNullString(str1);
char* result2 = getNonNullString(str2);
printf("str1的处理结果: %s\n", result1 ? result1 : "NULL"); // 输出"NULL"
printf("str2的处理结果: %s\n", result2 ? result2 : "NULL"); // 输出"NULL"
return 0;
}
```
在这个例子中,`getNonNullString` 函数接收一个字符串输入,如果它为空,则返回 `NULL`。在主函数中,我们分别测试了空字符串数组和NULL指针,并打印出处理后的结果。
阅读全文