在c语言中if(sqrt(x)%2) y=0;为什么是错的?

我在编译器尝试了改成if(sqrt(x)) 是可以的 为什么上面的if(sqrt(x)%2)不行?

sqrt是取平方根,返回的是浮点吧,取模运算符只能是整数与整数之间。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

因为if只能判断是或否,也就是括号里面的值要不是true要不就是false不能是其它值,比如你这个表达式的结果是一个数值,显然不行的。你可以改成if(sqrt(x)%2==0)
请采纳哦哦!