C语言的isprimp&&p/primes[i]>=primes[i]是什么意思

[复制链接]
查看11 | 回复2 | 2011-1-21 01:59:37 | 显示全部楼层 |阅读模式
isprimp&&p/primes>=primes
期中isprimp=0与1。
1为什么'p/primes>=primes是判断primes不超过p的平方根'?
2上面的句子执行顺序是从左到右还是从右到左?
3这句话的到底是意思是什么?
for (p = 5; p =primes; ++i)

..............

回复

使用道具 举报

千问 | 2011-1-21 01:59:37 | 显示全部楼层
根据运算符的优先级和结合性,(我下面列出来了)isprimp&&p/primes>=primes相当于isprimp&&((p/primes)>=primes)意思就是说如果pprimes的平方小于p,并且isprimp为true时,执行for循环体。1级优先级
左结合() 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级 右结合 ! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符
回复

使用道具 举报

千问 | 2011-1-21 01:59:37 | 显示全部楼层
首先primes[]是一个素数数组。1、(p/primes>=primes)肯定可以导出p>=(primes)*(primes),继而可以判断primes不超过p的平方根。2、从左向右,要是isprime 为false, isprimp&&p/primes>=primes肯定为false,则p/pri
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行