C言語で「stray ‘\xxx’ in program」というエラーメッセージが表示された場合、それはプログラム内に不正なエスケープシーケンスが含まれているということを意味します。
例えば、次のようなコードでこのエラーが発生する可能性があります。
#include <stdio.h> int main(void) { printf("Hello, world!\n"); printf("Hello, \world!\n"); // エラーが発生する行 return 0; }
この例では、文字列リテラル内に不正なエスケープシーケンス\w
が含まれています。このような場合、コンパイラは「stray ‘\w’ in program」というエラーメッセージを出力します。
このような場合、不正なエスケープシーケンスを正しいものに修正するようにプログラムを修正することで、このエラーは解消されます。
#include <stdio.h> int main(void) { printf("Hello, world!\n"); printf("Hello, \\\world!\n"); // 修正後 return 0; }
この例では、不正なエスケープシーケンスを正しいものに修正することで、エラーが解消されました。これにより、プログラム内に不正なエスケープシーケンスが含まれることがなくなりました。
コメント