在C中使用printf时如何转义%符号?
printf("hello\%"); /* not like this */
在C中使用printf时如何转义%符号?
printf("hello\%"); /* not like this */
当前回答
吹毛求疵: 在指定printf()(和scanf())函数族格式的字符串中,实际上不需要转义%。
printf()(和scanf())函数族中的%开始一个转换规范。转换规范的规则之一规定,%作为转换说明符(紧跟在开始转换规范的%之后)会导致写入'%'字符时不转换参数。
字符串实际上有2个'%'字符(与转义字符相反:"a\bc"是一个包含3个非空字符的字符串;"a%%b"是一个包含4个非空字符的字符串)。
其他回答
是这样的:
printf("hello%%");
//-----------^^ inside printf, use two percent signs together
您使用的格式说明符不正确。您应该使用%%来打印%。你的代码应该是:
printf("hello%%");
阅读更多C语言中使用的格式说明符。
你可以使用%%:
printf("100%%");
结果是:
100%
是的,使用printf("hello%%");做完了。
吹毛求疵: 在指定printf()(和scanf())函数族格式的字符串中,实际上不需要转义%。
printf()(和scanf())函数族中的%开始一个转换规范。转换规范的规则之一规定,%作为转换说明符(紧跟在开始转换规范的%之后)会导致写入'%'字符时不转换参数。
字符串实际上有2个'%'字符(与转义字符相反:"a\bc"是一个包含3个非空字符的字符串;"a%%b"是一个包含4个非空字符的字符串)。