若形参p为空指针,则输出字串NULL
时间: 2023-06-16 18:04:30 浏览: 242
在C++中,可以使用条件运算符(ternary operator)对指针是否为空进行判断,并输出相应的信息。代码实现如下:
```c++
void printString(char *p) {
std::cout << (p ? p : "NULL") << std::endl;
}
```
其中,`p ? p : "NULL"` 表示如果 `p` 不为空指针,则输出 `p` 所指向的字符串,否则输出 `"NULL"`。
相关问题
c语言若形参p为空指针,则输出字串NULL、
在 C 语言中,可以通过判断函数的形参指针是否为空来输出相应的字符串。例如,以下代码实现了一个函数,当指针为空时,输出字符串 "NULL",否则输出指针指向的内容:
```c
#include <stdio.h>
void print_string(char *p) {
if (p == NULL) {
printf("NULL\n");
} else {
printf("%s\n", p);
}
}
int main() {
char *str1 = "Hello, world!";
char *str2 = NULL;
print_string(str1);
print_string(str2);
return 0;
}
```
输出结果为:
```
Hello, world!
NULL
```
可以看到,在调用 `print_string` 函数时,传入了一个非空指针 `str1` 和一个空指针 `str2`。当传入的指针为空时,函数会输出字符串 "NULL",否则会输出指针指向的字符串。
使用C语言实现若形参p为空指针,则输出字串NULL
在C语言中,为了避免空指针引用导致的程序错误,通常会在访问指针内容之前检查指针是否为空。对于字符串,你可以创建一个函数来检查`p`是否指向非空的`char`数组。这里是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
void print_string_or_NULL(char *p) {
if (p == NULL || strlen(p) == 0) { // 检查指针是否为NULL或者长度为0(即空字符串)
printf("NULL\n");
} else {
printf("%s", p); // 如果指针有效,就打印出字符串内容
}
}
int main() {
char *str1 = "Hello";
char *str2 = NULL;
print_string_or_NULL(str1); // 输出 "Hello"
print_string_or_NULL(str2); // 输出 "NULL"
return 0;
}
```
这个函数会检查传入的指针是否为`NULL`或空字符串,并相应地打印出"NULL"。
阅读全文