C的初步问题

若有语句inti=-19,j=i%4;printf("%d\n"j);则输出的结果是__不明白printf("%d\n"j);是什么j=i%4也不明白能给讲讲吗?非常感谢... 若有语句
int i=-19 , j=i%4;
printf("%d\n"j);
则输出的结果是__
不明白printf("%d\n"j);是什么
j=i%4也不明白
能给讲讲吗?
非常感谢
展开
 我来答
爱小缩2012
2013-04-04 · TA获得超过1568个赞
知道小有建树答主
回答量:136
采纳率:100%
帮助的人:56万
展开全部

printf("%d\n"j);确实错了,应该是printf("%d\n",j); 中间加了一个逗号。因为:
printf是一种输出函数,它的调用格式是printf(字符串);或者 printf(输出格式字符串,输出表达式表); 这个说法比较官方,你要是看不懂,我举几个例子:例1:printf("请输入一个数:“) ;引号里的字符串将按原样输出,这里的”请输入一个数:“是一个字符串,所以会输出 请输入一个数:
例2:printf("%d\n",j);
引号里的%d表示逗号后对应位置的字符串按整型输出;\n是换行符,表示输至\n前对应的字符时将换行;“,”将字符串和表达式隔开;j是表达式,利用这个输出函数命令,它对应的数值将按照整型格式输出。比如之前定义 double j=1.332 ; ( 显然,它现在是double型),那么利用这个printf函数,将输出 1 并换行。
例3:printf("j=%d\n",j);
和上面差不多,只不过输出时会变成这样: j=1 并换行。
例4:printf(if(a>b)?"a=%d":"b=%d",a,b);
在函数中要先运行选择语句(形式是if(表达式)?x:y),如果a>b就输出:之前引号里的字符串,反之就输出后面的。其中第一个%d对应a,第二个%d对应b。比如之前定义 int a=3,b=4 ;显然a<b,if后的语句不成立,那么会输出 b=4 且不换行。

这个程序的错误如果改过来,就可以输出结果 -3

j=i%4;的意思是“把i除以4的余数赋给j”,%是一个除法取余运算符。

若有疑问,可以追问啊亲!!!
manaburn520
2013-04-04 · TA获得超过269个赞
知道小有建树答主
回答量:455
采纳率:33%
帮助的人:88万
展开全部
printf("%d\n"j);这句你写错了 应该是printf("%d\n",j);应该在j和“之间加个英文的逗号 输出的结果是 -3 printf它是个格式化输出函数 详情可以自己百度 printf()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-05
展开全部
首先,printf是一个输出函数,用于在屏幕上显示一个消息,printf后面跟的()里面,是要显示的内容,printf("%d\n"j);
你这句话里面,有一个地方有错误,printf("%d\n",j)中,"和j之间,需要一个逗号,来隔开的,意思是输出一个整型j的值,在屏幕上~
j=1%4理论上就是取摸(或者叫取于),就是1除以4,商是0,余数是1,那j里面的值就是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-05
展开全部
首先,应该是printf("%d\n",j) 有逗号的
%d要求输出的是整数,为int型,\n为换行,j为变量的值
j=i%4,是i除以四然后求余,如10%4==2 11%4==3 12%4==0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
栾聪丘夜梅
2019-10-23 · TA获得超过3851个赞
知道大有可为答主
回答量:3182
采纳率:32%
帮助的人:230万
展开全部
你这边以提到有效数字位数为7,
那么10^12这个数已经远远超过他了,10^12再加上1的计算,1在10^12面前太秒小了,
就直接被忽略不计了,呵呵,还是等于10^12;
当10^12与-10^12这两个先计算时,他们是同一个数量级的,就直接等于0,再加上1,结果只有1喽,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式