c语言若形参p为空指针,则输出字串NULL、
时间: 2023-06-16 17:04:28 浏览: 67
在 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",否则会输出指针指向的字符串。
相关问题
若形参p为空指针,则输出字串NULL
在C++中,可以使用条件运算符(ternary operator)对指针是否为空进行判断,并输出相应的信息。代码实现如下:
```c++
void printString(char *p) {
std::cout << (p ? p : "NULL") << std::endl;
}
```
其中,`p ? p : "NULL"` 表示如果 `p` 不为空指针,则输出 `p` 所指向的字符串,否则输出 `"NULL"`。
c语言函数形参为指针
函数形参为指针的意思是,函数的形参是一个指针类型的变量。通过传递指针作为参数,可以在函数内部访问和修改指针所指向的内存地址中的数据。
在C语言中,可以将一个变量的地址传递给函数,使得函数可以直接操作该变量。
例如,以下是一个函数形参为指针的示例:
```c
#include <stdio.h>
void changeValue(int *ptr) {
*ptr = 10;
}
int main() {
int num = 5;
printf("Before calling the function: %d\n", num);
changeValue(&num);
printf("After calling the function: %d\n", num);
return 0;
}
```
这段代码中,函数`changeValue`的形参`ptr`是一个指向`int`类型的指针。在函数内部,使用解引用操作符`*`来修改指针所指向地址中的值。在`main`函数中,我们将`num`的地址传递给`changeValue`函数,并在函数内部将其值修改为`10`。最后,输出被修改后的`num`的值。
回答完问题后,请提出几个