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

请问这样可以么?

请问各位大神 string text; text= year % 4 ? "平年" : "闰年" ; 这样为什么不行? year % 4 的结果非0不就相当于true,结果为0不就相当于false么?

正在回答

2 回答

你好,year % 4 对于计算机来说,这个式子就是一个数 除以4,去余数,计算机不知道你在判断是不是闰年,也没有默认设置要判断是否等于0, year 只是个变量名,和 aa,bb,acg,这样的变量名,对于计算机来说,都是一样的,所以你要手写加上==0,希望能帮到你。 

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

雨过云舒 提问者

你好,谢谢你的回答,可能是我没说清楚,原题中year赋值为2015,所以year%4会计算出0,1,2,3中的一个结果,而对于bool类型,0等同于false,非0等同于true,所以我觉得不是非要加上==0。如果我以上的观点有什么错误还请指出,谢谢
2017-06-13 回复 有任何疑惑可以回复我~
#2

一念征途 回复 雨过云舒 提问者

0等同于false,非0等同于true 这个在绝大多数的地方 是不能这样用的,只是在很个别的地方才能用的。
2017-06-13 回复 有任何疑惑可以回复我~
#3

雨过云舒 提问者 回复 一念征途

哦哦 好吧 谢谢啊
2017-06-13 回复 有任何疑惑可以回复我~
#4

一念征途 回复 雨过云舒 提问者

也可以用 if(0){} 这样的语句试下,程序也会报错。客气了,一起学习。
2017-06-13 回复 有任何疑惑可以回复我~
查看1条回复

那是针对bool类型的数据,而你这里的text是String类型的,所以不能这样。

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

举报

0/150
提交
取消
C#开发轻松入门
  • 参与学习       254280    人
  • 解答问题       1459    个

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

进入课程

请问这样可以么?

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