若形参p为空指针,则输出字串NULL
时间: 2023-06-16 17:04:30 浏览: 55
在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",否则会输出指针指向的字符串。
* 函数名称:output * 函数功能:输出显示book型结构体数组元素值 * 输出格式:(1)一行输出一本图书信息,共输出num行 * (2)每行先后输出书号、书名、作者、价格(保留小数点后2位),用逗号分隔图书信息 * (3)若形参p为空指针,则输出字串NULL * 形式参数:p,book型指针,book型一维数组首地址 * 形式参数:num,int型,图书数量 * 返 回 值:无
下面是一个实现上述功能的output函数的示例代码:
```c
#include <stdio.h>
// book型结构体定义
typedef struct {
int id; // 书号
char name[20]; // 书名
char author[20]; // 作者
double price; // 价格
} book;
// 输出book型结构体数组元素值的函数
void output(book *p, int num) {
if (p == NULL) { // 判断p是否为空指针
printf("NULL\n");
return;
}
for (int i = 0; i < num; i++) {
printf("%d,%s,%s,%.2f\n", p[i].id, p[i].name, p[i].author, p[i].price);
}
}
```
该函数接受两个参数,一个是book型指针p,另一个是图书数量num。首先判断p是否为空指针,如果是则输出“NULL”,并直接返回。如果不是空指针,则依次输出每本图书的信息,每行输出一本,输出格式为“书号,书名,作者,价格”。其中,价格保留小数点后两位。