當NULL作爲strstr
中的參數傳遞時的行爲是什麼?什麼是strstr的NULL參數行爲?
考慮:
char * p = NULL;
char * s = NULL;
案例1:strstr(p, "Hello");
案例2:strstr("With my dog", p);
案例3:strstr(p, s);
我的理解是,該行爲是不確定的,並留給了所有3例的實施。
根據Microsoft Visual Studio文檔,他們執行參數驗證並在那裏處理它。 See Remarks section.
我們在IAR Workbench上使用C99。
背景:一些測試人員正在編寫單元測試並將NULL賦值給字符串變量。