0 c printf null-string
为什么函数在将其作为字符串printf分配给它时返回 6 而不是 0 ,尽管它什么也没打印?NULL
printf
NULL
int main(void) { int x; x = printf("%s", NULL); printf ("\n%d", x); }
输出是:
(null) 6
Kam*_*Cuk 5
为什么 printf 函数在将 NULL 作为字符串分配给它时返回 6 而不是 0
因为它打印了6个字符。“(null)”是 6 个字符。
虽然它什么也没打印?
它正在打印“(空)”。那是 6 个字符。
NULL请注意,作为参数传递给%s格式说明符首先是无效的,并且会导致未定义的行为。某些实现(例如您正在使用的实现)正在打印“(null)”而不是崩溃。
%s
归档时间:
2 年 前
查看次数:
93 次
最近记录: