C语言的一个问题。为什么输出的是100,(x,y)是什么意思

作者&投稿:武看 (若有异议请与网页底部的电邮联系)
C语言一个小问题,这里的(year%100!=0)是什么意思呢~

(year%100!=0),这里,year%100是year与100相除,取其余数,就相当于数学中的year mod 100,
而year%100!=0,判断year与100相除的余数是否等于0

如果满意,欢迎采纳,谢谢
如有疑问,欢迎追问

1
因为y是一个逻辑值,bool数只有0或者1,
后面的(10<=x<=100)是真,首先10<=x是真,所以这个表达式的结果是1,1<=100,所以还是1.

输出语句中(x ,y)是逗号表达式,只输出y 值,而y 的值在前面已经和x 值进行了调换,当然输出100了

输出y的值,printf函数从右到左读数值,(x,y)没有别的含义,相当于x,y。只不过在printf的时候从从先读入y,再读入x,从而输出y=100。
纯属个人见解,没有经过验证的。

(x,y) 逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值


c语言问题:输入一个十进制数,将其转化为二进制数后存放在数组中并输出...
include<stdio.h> define uint unsigned int define ushort unsigned short \/\/求2的N次方 int cifang(int n){ int i=0,sum=1;for(i=n;i>0;i--){ sum*=2;} return sum;} \/\/十进制正数转换成二进制数 uint transform_data_zhengshu(uint frequence,ushort*pwm_table){ uint temp=...

萌新想问一下关于char补码的devC++中一个C语言的小问题?
图一中:char c = 127;printf("%d", c+1);在C语言中的整数常量是以整形int进行存储的,这里127和1就是这种情况;另外在运算过程中如果两个运算数不是同种类型,编译器会把精度较低的数转换为精度较高的数,所以c+1是char+int会转化为int+int即127+1=128结果也是int。图二中:c=c+1;c+1...

一个c语言的小问题 while(scanf("%d",&n))超时,而改成while(scanf("%d...
这个要从scanf函数的返回值说起。比如scanf("%d", &n);有如下情况:1. 当输入为一个整数时,读取到n,scanf返回值是1(表示成功读取了一个数),ok,继续执行 2. 当输入为EOF(通常切的题目有多组数据,会使用EOF表示输入结束),这时,没有读取输入到n,scanf返回值是-1,所以您的代码==1就...

【急】一个关于C语言的问题
这个符号%是求余的意思,i%5就是i除以5后的余数。如果i是5的倍数,则i除以5余数是0(小学知识),即(i%5)的值是0。而这个感叹号!是取反,加在(i%5)前面组成!(i%5),那么括号内的值就取反了,也就是说当i除以5余数是0时,!(i%5)==1。那么同理i除以3余数是0时可以得到!(i%3)=...

一个c语言问题 输入三个整数,分别判断他是否为质数
include <stdio.h>#include <conio.h>#include <math.h>\/*判断质数 1:是;0:否*\/\/*对于某数num,若其不能被2~num^1\/2(num的平方根)之间所有整数整除,则其为质数*\/int isPrime (int num) {int i,squareRoot;squareRoot = (int) sqrt (num);for (i=2; i<=squareRoot; i++)if...

请教几个有关C语言的问题: 1、为什么‘cd’不能做为C语言合法常量?而0.1...
(1) 用单引号括起的是字符常量,'cd' 含2个字符,也不是转义字符,所以不是合法常量。0.1e+6 是合法的 E 格式 浮点数。(2)char a='aa'; 用单引号括起的是字符常量,'aa' 含2个字符,也不是转义字符,所以不是合法常量。'n' 是合法字符常量, '\\x2d' 是合法字符常量, 单引号里...

一个汇编语言的问题
shl 指令用法 shl reg\/mem,1;移动1位可以不用cx 或者 shl reg\/mem,cx;移动位数大于1,只能把移动位数放进cx中,否者错误 现在看看你的指令出了什么问题 jmp byte ptr [bx] :不符合JMP mem 的用法,byte只有一字节,修改为word以上才行 shl word ptr[bx],2:2>1,只能把2放...

一个c语言基础性问题、
对于1个字节,位的编号从低到高是0...7,即bit7是符号位,0...6位为数值。对于-1,原码是1,即0000001,求反后为1111110,再加1得1111111,添加符号位后为11111111。那么有符号二进制数的10000000对应的十进制是多少呢?最高位为1,说明是负数,补码是10000000,减1后为01111111,再求反得1000000...

询问一个C语言问题的答案
unsigned char类型的字节数是sizeof(unsigned char),unsigned long类型的字节数是sizeof(unsigned long)。由于指针加法是以所指类型大小为单位移动的,因此p1+5的结果是0x801000加上5*sizeof(unsigned char),p2+5的结果是0x810000加上5*sizeof(unsigned long)例如现在32位pc机上一般unsigned char为1个...

初学c语言的一个搞不清楚的问题
这个程序是要好好思考下才能弄懂 解题的思路是这样的:单词的数目可以由空格出现的次数决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内).如果测出某一个字符为非空格,而它前面的字符是空格,则表示"新的单词开始了",此时使num(单词数)累加1.如果当前字符为非空格而前面的字符也是非空格...

武都县15752854622: C语言基础中的运行问题,问一下其运行结果为什么是1 -
帛毕贞芪: printf("%d\n",a<=100); //程序执行的是这行.a<=100成立,结果为真,以%d输出就是1.

武都县15752854622: c语言为什么输出的是1 -
帛毕贞芪: 原因很简单,printf("%d\n",i)中i调用的是全局变量i=1,故输出的就是1.如果void funct(void){printf("%d\n",i);int i=5;}改程序段在main函数内那么答案就是2

武都县15752854622: c语言问题 我的为什么输出一直为1 -
帛毕贞芪: 首先,你这个东西输出的不是1,而是一个不确定值(IND),说明出现除零错误. 经过debug发现阶乘出现0.很明显,问题在于阶乘时的变量'zhi'没有初始化.初始化为1,你这个程序就能用了. 楼上抢先了,他就是正解.

武都县15752854622: c语言我想问为什么输出的结果都是1啊... -
帛毕贞芪: 你的 func 函数写错了,应该是int fun(int n) { if(n==0) return 0; else if(n==1) return 1; else return(fun(n-1)+fun(n-2)); }

武都县15752854622: 关于C语言的程序为什么总是输出1 程序如下 -
帛毕贞芪: 把输入改为scanf("%f%d",&x,&n);在试试 如果不改的话输入的时候就要把两个数之间中加一个”,“

武都县15752854622: C语言的小问题,为什么我输入0,输出的是1,代码如图 -
帛毕贞芪: if (x == 0) 而不是 if (x = 0) 前者为判断,后者就是个恒等式

武都县15752854622: c语言吧.为什么输出会是1,而不是0. -
帛毕贞芪: 一直以来,++ --语法浪费了太多人的时间.说句实在话,++ -- 在C语言中其实是一个很细节的语法,除了表达简练外,真的没有什么其它的好处了. 由于中国的C语言教程长期以来被谭浩强主宰,而谭又错误的把++ --作为一个C语言重点来教,...

武都县15752854622: C程序问题.为什么无论输入什么数字,输出结果总是为一位数??麻烦高人点拨 -
帛毕贞芪: scanf("ld",&num);这句写错了 应是 scanf("%ld",&num);

武都县15752854622: 各位看看这个C语言求阶乘问题在哪,为什么输出的永远是1 -
帛毕贞芪: scanf("%d",&a); 就行了吧,要不然你还得先输入一个a

武都县15752854622: 一个简单的C语言题.关于递归的.程序运行结果为什么是1 -
帛毕贞芪: 根据递归来推导:fun(3)==1.0/3+1.0/fun(2) ==1.0/3+1.0/(1.0/2+1.0/fun(1)) //fun(1)是已经知道的,是1 ==1.0/3+1.0/(1.0/2+1.0/1.0) ==1.0/3+1.0/(3.0/2) ==1.0/3+2.0/3 ==1.0 所以他就是等于1,当然就是输出1.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网