请高手进来看下 ,帮我解决下小问题,万分感激

stringsl 2010-11-14 11:06:59

const int max = 100;
long primes[max] = {2,3,5};
long trial = 5;
int count = 3;
int found = 0;
do
{
trial += 2; //trial 7
found = 0;
for(int i=0; i<count; i++) //count 3
{
found = (trial % *(primes + i))==0; //请问这一句primes是多少,是怎么看出来的,这条语句是如何工作的?我百思不得其解。才想到了这里N人多,请高手说下。拜托啦。。小弟超超超超新手。
if(found)
break;
}
if(found == 0)
*(primes + count++)=trial; //这个返回的是指针吗?trial又是怎么回事。高手支招,谢谢啦。
}while(count<max);
for(int i=0;i<max;i++)
{
if(i % 5 ==0)
cout<<endl;
cout<<setw(10)<<*(primes + i);
}
cout<< endl;


...全文
92 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wokonglinglude 2010-11-14
  • 打赏
  • 举报
回复
( 1 ) const int max = 100;
long primes[max] = {2,3,5};
数组名字primes是指向首地址的指针。 后面是连续的排列的内存。数组是连续的,每个地址的大小也就是数组元素是long类型的。
primes + i。就是指针类型ptrdiff 加了个数 ,往后面挪了i个地址。
(2)*(primes + count++)=trial;
这个给上面的解释差不多,就是多了个 count++ 就相当于i++

*() 就是对一个指针解引用,得到的是指针存储地址指向的值。
qq120848369 2010-11-14
  • 打赏
  • 举报
回复


恩,顺便给我几分.

lmshj 2010-11-14
  • 打赏
  • 举报
回复
primes数组名是个地址 *是取这个地址里的值*(primes + i)等同primes[i]
stringsl 2010-11-14
  • 打赏
  • 举报
回复

found = (trial % *(primes + i))==0;


请问各位高手,那这一句中*(primes + i)这个*怎么解释?前面那个是求模吗?
無_1024 2010-11-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 csuxiaowu 的回复:]
C/C++ code

found = (trial % *(primes + i))==0;//---这个是判断trial 是否可以把 数组的第i+1个元素除尽 可以的话found = 1;否则为0
*(primes + count++)=trial;//---把数组的第count+1个元素的值改成trial
[/Quote]
*(primes + i)就是primes[i]
*(primes + count++)表示
primes[count]
count=count+1
Zeilone 2010-11-14
  • 打赏
  • 举报
回复
*(primes + i) 等价于 primes[i]
对于数组,还是建议用后面的格式
Csuxiaowu 2010-11-14
  • 打赏
  • 举报
回复

found = (trial % *(primes + i))==0;//---这个是判断trial 是否可以把 数组的第i+1个元素除尽 可以的话found = 1;否则为0
*(primes + count++)=trial;//---把数组的第count+1个元素的值改成trial

giftfish 2010-11-14
  • 打赏
  • 举报
回复
自己调试下,看看什么效果,找本C++基础来看看!
Metrosexual 2010-11-14
  • 打赏
  • 举报
回复
*(primes + i)就是primes[i]
*(primes + count++)表示
primes[count]
count=count+1

64,644

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧