为什么前面有两个%%?
和printf底层实现由关系,%在printf函数里被认为是特殊字符,所有程序默认认为%后边必须跟一个格式例如(%d,%f,%l)。所以如果%没有跟这些字符会被报错,这时候就需要 %%来表示 printf可以打印出%的效果
我是这样理解的,类似于%d、%f、%c这些前面的%可以看做是一种格式符号,而如果代码中只出现一个%(x%y)有可能电脑会误以为还是格式符号,就会造成报错,如果加上一个,就可以区别了,其中一个%表示取余符号,一个表示格式符号(当然这种说法没有根据,只能帮助理解)
printf("x%%y=%d\n",x%y); 第一个符号代表确定格式,第二个符号代表输出格式