私は C プログラミングにまったく慣れていないので、遠慮なく訂正してください。C の文字列に関する私の基本的な理解は、文字列を初期化すると、文字列の最後に null 文字が自動的に割り当てられ、null 文字は読み書きできず、内部でのみ使用されるということです。
したがって、サイズ 4 の文字列を作成し、char str[3]
それに「RED」という単語を割り当てて puts 関数または を使用してprintf("%s",str)
出力すると、異常な出力が次のように出力されます。RED(SMIILEY FACE)
次に、文字列のサイズを再度縮小してchar str[2]
RED を割り当て、コンパイルすると、次のような出力が返されますRE(Smiley face)
誰かが私にそれを説明できるなら、私は感謝します. 以下にCコードを投稿する
int main()
{
char s1[3]="RED";
char s2[]="RED";
puts(s1);
puts(s2);
printf("%s",s1);
return 0;
}