C++ 如果在strchr()中传递NULL呢
我的代码在Linux上运行。当一个空值被传递给strchr()函数时,我看到我的程序被中止。在AIX中运行时似乎不会发生这种情况 有人能告诉我为什么strhr()的行为会有这种差异吗C++ 如果在strchr()中传递NULL呢,c++,null,strchr,C++,Null,Strchr,我的代码在Linux上运行。当一个空值被传递给strchr()函数时,我看到我的程序被中止。在AIX中运行时似乎不会发生这种情况 有人能告诉我为什么strhr()的行为会有这种差异吗 谢谢,因为strchr()的规范没有指定传递NULL时的“正确”行为,所以不同的实现可以自由地,呃,在这种情况下以不同的方式实现它。(只是好奇:当传递NULL时,AIX版本会返回什么?您使用哪种编程语言?此函数存在于多种语言中。我使用的编程语言是AIX中的C++当将NULL传递给strchr()时,它返回NULL,
谢谢,因为strchr()的规范没有指定传递NULL时的“正确”行为,所以不同的实现可以自由地,呃,在这种情况下以不同的方式实现它。(只是好奇:当传递NULL时,AIX版本会返回什么?您使用哪种编程语言?此函数存在于多种语言中。我使用的编程语言是AIX中的C++当将NULL传递给strchr()时,它返回NULL,程序运行时不会中止。更准确地说,行为是未定义的,因此实现甚至不必一致。崩溃或返回NULL都是一致性行为。让恶魔从你鼻子里飞出来也是如此。