qq_我要瘦十斤_0
2017-11-05 23:27
#include <stdio.h>
int main()
{
int x,y;
x = 10;
y = -3;
printf("x+y=%d\n",x+y );
printf("x-y=%d\n", x-y );
printf("x*y=%d\n",x*y );
printf("x/y=%d\n", x/y );
printf("x%y=%d\n", x%y );
return 0;
运行成功,输出错误
x+y=7
x-y=13
x*y=-30
x/y=-3
这是为什么
1.一个%是格式字符开始的标志,“%%”中第一个%被叫做脱逸或逃逸字符,跟转义字符的功能差不多。如%d一样在编译的时候会被替换而没有了,所以就称%为逃逸或脱逸字符。
2.而这里的错误是printf("x%y=%d\n",x%y),正确是printf("x%%y=%d\n",x%y)
printf("x%y=%d\n", x%y ); 中前面部分的%y系统可能理解成是类似%d这样的了,所以改成再加一个%,变成x%%y区分开,其他不变。
是输出错误吧,一共要输入5个式子,你只输出了4个,最后的printf("x%y=%d\n", x%y ); 这里面的%要double,即printf("x%%y=%d\n", x%y );
C语言入门
926020 学习 · 20793 问题
相似问题