null char ('\0', 0) を %s で出力すると、実際に "(null)" 文字列が出力されるのはなぜですか?
このコードのように:
char null_byte = '\0';
printf("null_byte: %s\n", null_byte);
...印刷:
null_byte: (null)
...そしてそれはValgrindの下でもエラーなしで実行されます.私が得るのはコンパイラの警告warning: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘int’ [-Wformat]
だけです(注:私は32ビットUbuntuでgcc 4.6.3を使用しています)