为了账号安全,请及时绑定邮箱和手机立即绑定

为什么前面有两个%%?

为什么前面有两个%%?

正在回答

3 回答

和printf底层实现由关系,%在printf函数里被认为是特殊字符,所有程序默认认为%后边必须跟一个格式例如(%d,%f,%l)。所以如果%没有跟这些字符会被报错,这时候就需要 %%来表示 printf可以打印出%的效果

6 回复 有任何疑惑可以回复我~
#1

qq_粉红豹先生_fhpzP5

本来不懂,后来看了你的解答才恍然大悟。赞一个!
2018-09-30 回复 有任何疑惑可以回复我~
#2

qq_优秀_jqxAS7

这个是我看到的最好的答案
2018-10-04 回复 有任何疑惑可以回复我~

我是这样理解的,类似于%d、%f、%c这些前面的%可以看做是一种格式符号,而如果代码中只出现一个%(x%y)有可能电脑会误以为还是格式符号,就会造成报错,如果加上一个,就可以区别了,其中一个%表示取余符号,一个表示格式符号(当然这种说法没有根据,只能帮助理解)

0 回复 有任何疑惑可以回复我~

printf("x%%y=%d\n",x%y);  第一个符号代表确定格式,第二个符号代表输出格式

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么前面有两个%%?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信