中易网

C语言的一个问题 程序比较长 我全部贴出来了,不过问的问题不是很麻烦。。麻烦大神

答案:2  悬赏:0  
解决时间 2021-01-15 20:55
  • 提问者网友:我一贱你就笑
  • 2021-01-14 21:17
C语言的一个问题 程序比较长 我全部贴出来了,不过问的问题不是很麻烦。。麻烦大神
最佳答案
  • 二级知识专家网友:七十二街
  • 2021-01-14 22:18
显然,unsigned long long *ptemp=NULL;放在最前面是不会出现问题的。unsigned long long trial=*(pprimes+2)+2ULL;不行,因为在前面的话,pprimes还没有获得正确的指向,属于野指针;如果放在第一行后面呢?那pprimes又是==NULL的无效指针,所以都不行。因此,要放在前面的话,只能先做个声明:unsigned long long trial;即可,而在pprimes获得正确值后写一句trial=*(pprimes+2)+2ULL;就行……
全部回答
  • 1楼网友:神的生死簿
  • 2021-01-14 23:06
C 也是可以放在中间申明的,出错的原因是 C 没有 bool 类型,还有 CAP_INCR 未定义。还有没有别的错误,就不知道了
还有,你这个到底是 C 还是 C++ 啊, printf("%d primes found up to %llu:\n"); 用到了两个变量也没给,C 里面好像也没有 scanf_s 函数吧追问Bool的问题解决了。cap也定义了追答如果是 C 的话,在前面添加:
#include
#include
#define true 1
#define false 0
#define bool int
#define CAP_INCR 1
#define scanf_s scanf
下面这句就看你自己的意思了
printf("%d primes found up to %llu:\n");
我直接把这句注释后,程序可以正常执行
你应该是想要的这个效果吧:
printf("%d primes found up to %llu:\n", count, limit);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息