gpt4 book ai didi

c - 选择语句和针对 NULL 的检查

转载 作者:太空宇宙 更新时间:2023-11-04 07:58:19 25 4
gpt4 key购买 nike

我正在使用 C 语言编程,在定义了一个 struct 之后发现了一些奇怪的东西,然后尝试在 main() 中打印出一个字符串:

struct node{
int value;
struct node *next;
};

int main(){
struct node test;
test.value = 10;
test.next = NULL;
if(test.next->value > 100)
printf("%s\n", "Big");
return 0;
}

这个程序编译成功了,但是我在运行的时候遇到了段错误,我知道test.next->value是非法的,而test.next = NULL ,如果这样写就可以避免这个段错误:

if(test.next && test.next->value > 100) 
printf("%s\n", "Big");

但是现在更丑了,我不得不在其他程序中写这种风格来避免段错误,让控制台什么都不打印,有没有更好的方式来优雅地写呢? :)

最佳答案

没有。 C 没有您想要的语言功能。

C# 确实有一个 null conditional operator , 但 C 没有。

关于c - 选择语句和针对 NULL 的检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48455867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com