これについての情報は少し検索しましたが、満足できるものは何も見つかりませんでした。これは、(-Wallとgccの上で)警告している理由を説明する関数呼び出しgcc -Wallが長さゼロの書式文字列について警告を出すのはなぜですか?
sprintf(someString, "");
にいくつかの特別な行動はありますか?私は、C標準が長さゼロの書式文字列を許可していることが分かりました。
私が見に期待まさにある
'''a'
を出力
#include <stdio.h>
int main()
{
char str[2] = {'a', 'a'};
sprintf(str, "");
printf("\'%c\'\'%c\'\n", str[0], str[1]);
return 0;
}
次の例を試してみました。 なぜ、警告ですか?
C++が意味しないところを見つけたところではありません... –
g ++でコードをコンパイルしていたので最初はそうだと思いましたが、gccが同じ警告。 – SirGuy
ああ、だれかが不思議に思っているのであれば、私は誤ってこのコードを見つけたが、実際にはそれを書かなかった。 – SirGuy