2 visual studio1 VISUAL_STUDIO1 于 2016.04.07 17:31 提问

C++指针问题 *(primes_i + count_i++) = trail_i;
 #include <iostream>
#include <iomanip>
using namespace std;

#define maxn 100
void main11()
{
    //const auto maxn = 100;
    long primes_i[maxn] = { 2, 3, 6 };
    long trail_i = 5;
    auto count_i = 3;
    auto found_i = false;

    do
    {
        trail_i += 2;
        found_i = false;

        for (int i{}; i < count_i; i++)
        {
            found_i = (trail_i % * (primes_i + i)) == 0;
            if (found_i)
                break;
        }
        if (!found_i)
        {
            *(primes_i + count_i++) = trail_i;
        }
    } while (count_i < maxn);

    for (int i{}; i < maxn; i++)
    {
        if (i % 5 == 0)
        {
            cout << endl;
        }

        cout << setw(10) << *(primes_i + i);
    }
    cout << endl;
    system("pause");
}

其中

 *(primes_i + count_i++) = trail_i;

是什么意思

3个回答

chen956
chen956   2016.04.07 17:48
已采纳

primes-i是数组的首地址(指针),与count-i相加表示地址(指针)进行加法运算,也就是获取数组其他元素的地址(指针)。如果count是1,那么primes_i + count_i++的结果就是得到数组的第二个元素的地址(指针),在此句话执行结束之后count再加1,进而继续操作数组下一个元素
那么整个语句的意思就是给long数组中的某个元素进行赋值,结合循环完成对数组所有元素逐个赋值

chen956
chen956 赋值是从左向右计算的。也就是先计算 (trail_i % * (primes_i + i)) == 0:计算trail_i 除以第i个数组的值取余是否等于0,也是是否整除。把这句话的结果赋值给found-i.
2 年多之前 回复
VISUAL_STUDIO1
VISUAL_STUDIO1 这句话又是什么意思 found_i = (trail_i % * (primes_i + i)) == false;
2 年多之前 回复
VISUAL_STUDIO1
VISUAL_STUDIO1 这句话又是什么意思 found_i = (trail_i % * (primes_i + i)) == false;
2 年多之前 回复
CSDNXIAOS
CSDNXIAOS   2016.04.07 17:42

 在VPC上装了redhat9,不知道改了什么东西后启动时出现了 i8253 count too high,resetting的提示,开机grub处按e键,选择内核2.4.20-8按e,在第一行末端,也就是kernel /vmlinuz-2.4.20-8 ro root=LABEL=/后面加入single即kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ sin......
答案就在这里:i8253 count too high
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

VISUAL_STUDIO1
VISUAL_STUDIO1   2016.04.07 17:58

这句话又是什么意思

 found_i = (trail_i % * (primes_i + i)) == false;
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言指针问题小结
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
C语言指针实现循环报数问题(简单约瑟夫环问题)
题目描述:报数:有n个人围成一圈,按照顺序从1到n编好号。从第一个人开始报数,报到x(x&amp;gt;1)的人退出圈子,下一个人从1开始重新报数,报到x的人退出圈子。如此下去,直到留下最后一个人。问留下来的人的编号。试编写相应程序。分析:利用指针的赋0后的特性解决,赋0,即空指针,就是不指向任何对象,相当于NULL地址为0的地址是不允许读写的,这是操作系统的保护机制,所以约定用地址0代表该指针不能使用,...
约瑟夫环问题(结构体指针实现)
#include #include struct node{ int data; struct node *next; }; int main(){ int i,j,k,m,n; struct node *h,*p,*q; scanf("%d%d",&n,&m); h=new node;
C语言指针专题——常见问题解答合集
从本文开始,给出指针常见的问题解答,并且会不时的更新!
C和指针课后练习题总结
下面是一些对软件大赛比较有用的东东,咱学院08级的聪哥精心整理。。 有些题做起来可能麻烦。。但是挺有帮助! 《c和指针》这本书大家不需要单独购买,浪费钱毕竟~~~不如省下钱来请俺吃饭饭!哈哈~~~~如果只做题的话从网上下载电子版的就可以了。 链接在此。。不需要积分。。。http://ishare.iask.sina.com.cn/f/23415790.html
C语言指针使用中的常见错误
指针的作用特别强,对许多问题是必须的。同时,偶尔错用指针,会带来意想不到的错误,甚至是灾难性的后果。       指针错误难以定位,因为指针本身并没有问题。问题在于,通过错误指针操作时,程序对未知内存区进行读写操作。读操作时,最坏的情况是取得无用数据;而写操作时,可能冲掉其他代码或数据。       (一)使用未初始化的指针(uninitialized pointer) int main(v
C语言中指针变量使用时常见的几个问题
C语言是多数编程语言学习的基础,很多高校开设的软件相关专业都会涉及到C语言的学习。大学生刚刚迈进校园就开始接触C语言的学习,难免会举步维艰,尤其是当涉及到C语言中指针的时候,更是让一票新生头晕脑胀。其实,指针就是一种特殊的数据类型,直接指向目标的存储地址,实现直接访问对象存储空间的功能。今天,我就和大家分享一下C语言中指针学习会遇到的几个问题及解决方法,希望可以帮到大家! 1.声明指针和取指针变
第一章 快速上手 [c和指针]
前记:最近在看《c和指针》-中文版,在这里留个记号也好监督一下自己。文中列写的代码均以经过调试运行。 以下是第一章的例程 1-1 #include #include #include #define MAX_COLS 20 #define MAX_INPUT 1000 int read_column_numbers(int column[],int max); voi
C和指针 第2版 高清扫描版加课后习题完整答案及配套源码
C 和指针(C指针的经典之作,读者好评如潮) c语言程序设计宝典,c语言入门必备手册! 《C和指针》通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。 《C和指针》适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习C语言的参考。 本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。 《C和指针》适合C语言初学者和初级C程序员阅读,也可作为计算机专业学生学习C语言的参考。 目 录 第1章 快速上手 1 1.1 简介 1 1.1.1 空白和注释 4 1.1.2 预处理指令 4 1.1.3 main函数 5 1.1.4 read_column_numbers函数 8 1.1.5 rearrange函数 12 1.2 补充说明 14 1.3 编译 14 1.4 总结 15 1.5 警告的总结 15 1.6 编程提示的总结 15 1.7 问题 16 1.8 编程练习 16 第2章 基本概念 19 2.1 环境 19 2.1.1 翻译 19 2.1.2 执行 21 2.2 词法规则 21 2.2.1 字符 22 2.2.2 注释 23 2.2.3 自由形式的源代码 23 2.2.4 标识符 24 2.2.5 程序的形式 24 2.3 程序风格 25 2.4 总结 26 2.5 警告的总结 26 2.6 编程提示的总结 26 2.7 问题 27 2.8 编程练习 28 第3章 数据 29 3.1 基本数据类型 29 3.1.1 整型家族 29 3.1.2 浮点类型 32 3.1.3 指针 33 3.2 基本声明 35 3.2.1 初始化 35 3.2.2 声明简单数组 36 3.2.3 声明指针 36 3.2.4 隐式声明 37 3.3 typedef 38 3.4 常量 38 3.5 作用域 39 3.5.1 代码块作用域 40 3.5.2 文件作用域 41 3.5.3 原型作用域 41 3.5.4 函数作用域 41 3.6 链接属性 41 3.7 存储类型 43 3.8 static关键字 44 3.9 作用域、存储类型示例 45 3.10 总结 46 3.11 警告的总结 47 3.12 编程提示的总结 47 3.13 问题 48 第4章 语句 51 4.1 空语句 51 4.2 表达式语句 51 4.3 代码块 52 4.4 if语句 52 4.5 while语句 53 4.5.1 break和continue语句 54 4.5.2 while语句的执行过程 54 4.6 for语句 55 4.7 do语句 56 4.8 switch语句 57 4.8.1 switch中的break语句 58 4.8.2 default子句 59 4.8.3 switch语句的执行过程 59 4.9 goto语句 60 4.10 总结 61 4.11 警告的总结 62 4.12 编程提示的总结 62 4.13 问题 62 4.14 编程练习 63 第5章 操作符和表达式 67 5.1 操作符 67 5.1.1 算术操作符 67 5.1.2 移位操作符 67 5.1.3 位操作符 69 5.1.4 赋值 70 5.1.5 单目操作符 72 5.1.6 关系操作符 73 5.1.7 逻辑操作符 74 5.1.8 条件操作符 75 5.1.9 逗号操作符 76 5.1.10 下标引用、函数调用和结构成员 77 5.2 布尔值 78 5.3 左值和右值 79 5.4 表达式求值 80 5.4.1 隐式类型转换 80 5.4.2 算术转换 80 5.4.3 操作符的属性 81 5.4.4 优先级和求值的顺序 82 5.5 总结 85 5.6 警告的总结 86 5.7 编程提示的总结 86 5.8 问题 86 5.9 编程练习 88 第6章 指针 91 6.1 内存和地址 91 6.2 值和类型 92 6.3 指针变量的内容 93 6.4 间接访问操作符 94 6.5 未初始化和非法的指针 95 6.6 NULL指针 96 6.7 指针、间接访问和左值 97 6.8 指针、间接访问和变量 97 6.9 指针常量 98 6.10 指针的指针 98 6.11 指针表达式 99 6.12 实例 104 6.13 指针运算 107 6.13.1 算术运算 108 6.13.2 关系运算 110 6.14 总结 111 6.15 警告的总结 112 6.16 编程提示的总结 112 6.17 问题 112 6.18 编程练习 115 第7章 函数 117 7.1 函数定义 117 7.2 函数声明 119 7.2.1 原型 119 7.2.2 函数的缺省认定 121 7.3 函数的参数 122 7.4 ADT和黑盒 124 7.5 递归 127 7.5.1 追踪递归函数 128 7.5.2 递归与迭代 131 7.6 可变参数列表 134 7.6.1 stdarg宏 135 7.6.2 可变参数的限制 135 7.7 总结 136 7.8 警告的总结 137 7.9 编程提示的总结 137 7.10 问题 138 7.11 编程练习 138 第8章 数组 141 8.1 一维数组 141 8.1.1 数组名 141 8.1.2 下标引用 142 8.1.3 指针与下标 144 8.1.4 指针的效率 145 8.1.5 数组和指针 150 8.1.6 作为函数参数的数组名 150 8.1.7 声明数组参数 152 8.1.8 初始化 152 8.1.9 不完整的初始化 153 8.1.10 自动计算数组长度 153 8.1.11 字符数组的初始化 153 8.2 多维数组 154 8.2.1 存储顺序 154 8.2.2 数组名 155 8.2.3 下标 156 8.2.4 指向数组的指针 158 8.2.5 作为函数参数的多维数组 159 8.2.6 初始化 160 8.2.7 数组长度自动计算 162 8.3 指针数组 162 8.4 总结 165 8.5 警告的总结 166 8.6 编程提示的总结 166 8.7 问题 166 8.8 编程练习 170 第9章 字符串、字符和字节 175 9.1 字符串基础 175 9.2 字符串长度 175 9.3 不受限制的字符串函数 177 9.3.1 复制字符串 177 9.3.2 连接字符串 178 9.3.3 函数的返回值 178 9.3.4 字符串比较 178 9.4 长度受限的字符串函数 179 9.5 字符串查找基础 180 9.5.1 查找一个字符 180 9.5.2 查找任何几个字符 181 9.5.3 查找一个子串 181 9.6 高级字符串查找 182 9.6.1 查找一个字符串前缀 182 9.6.2 查找标记 182 9.7 错误信息 184 9.8 字符操作 184 9.8.1 字符分类 184 9.8.2 字符转换 184 9.9 内存操作 185 9.10 总结 186 9.11 警告的总结 187 9.12 编程提示的总结 187 9.13 问题 188 9.14 编程练习 188 第10章 结构和联合 195 10.1 结构基础知识 195 10.1.1 结构声明 195 10.1.2 结构成员 197 10.1.3 结构成员的直接访问 197 10.1.4 结构成员的间接访问 198 10.1.5 结构的自引用 198 10.1.6 不完整的声明 199 10.1.7 结构的初始化 199 10.2 结构、指针和成员 200 10.2.1 访问指针 201 10.2.2 访问结构 201 10.2.3 访问结构成员 202 10.2.4 访问嵌套的结构 203 10.2.5 访问指针成员 204 10.3 结构的存储分配 205 10.4 作为函数参数的结构 206 10.5 位段 209 10.6 联合 211 10.6.1 变体记录 212 10.6.2 联合的初始化 213 10.7 总结 214 10.8 警告的总结 214 10.9 编程提示的总结 214 10.10 问题 215 10.11 编程练习 217 第11章 动态内存分配 221 11.1 为什么使用动态内存分配 221 11.2 malloc和free 221 11.3 calloc和realloc 222 11.4 使用动态分配的内存 223 11.5 常见的动态内存错误 223 11.6 内存分配实例 226 11.7 总结 231 11.8 警告的总结 232 11.9 编程提示的总结 232 11.10 问题 232 11.11 编程练习 233 第12章 使用结构和指针 235 12.1 链表 235 12.2 单链表 235 12.2.1 在单链表中插入 236 12.2.2 其他链表操作 245 12.3 双链表 245 12.3.1 在双链表中插入 246 12.3.2 其他链表操作 253 12.4 总结 253 12.5 警告的总结 254 12.6 编程提示的总结 254 12.7 问题 254 12.8 编程练习 255 第13章 高级指针话题 257 13.1 进一步探讨指向指针的指针 257 13.2 高级声明 258 13.3 函数指针 260 13.3.1 回调函数 261 13.3.2 转移表 263 13.4 命令行参数 265 13.4.1 传递命令行参数 265 13.4.2 处理命令行参数 266 13.5 字符串常量 269 13.6 总结 271 13.7 警告的总结 272 13.8 编程提示的总结 272 13.9 问题 272 13.10 编程练习 275 第14章 预处理器 279 14.1 预定义符号 279 14.2 #define 279 14.2.1 宏 281 14.2.2 #define替换 282 14.2.3 宏与函数 283 14.2.4 带副作用的宏参数 284 14.2.5 命名约定 285 14.2.6 #undef 285 14.2.7 命令行定义 285 14.3 条件编译 286 14.3.1 是否被定义 287 14.3.2 嵌套指令 288 14.4 文件包含 288 14.4.1 函数库文件包含 289 14.4.2 本地文件包含 289 14.4.3 嵌套文件包含 290 14.5 其他指令 291 14.6 总结 292 14.7 警告的总结 293 14.8 编程提示的总结 293 14.9 问题 293 14.10 编程练习 295 第15章 输入/输出函数 297 15.1 错误报告 297 15.2 终止执行 298 15.3 标准I/O函数库 298 15.4 ANSI I/O概念 299 15.4.1 流 299 15.4.2 文件 300 15.4.3 标准I/O常量 300 15.5 流I/O总览 301 15.6 打开流 302 15.7 关闭流 303 15.8 字符I/O 304 15.8.1 字符I/O宏 305 15.8.2 撤销字符I/O 305 15.9 未格式化的行I/O 306 15.10 格式化的行I/O 308 15.10.1 scanf家族 308 15.10.2 scanf格式代码 308 15.10.3 printf家族 312 15.10.4 printf格式代码 312 15.11 二进制I/O 316 15.12 刷新��定位函数 316 15.13 改变缓冲方式 318 15.14 流错误函数 319 15.15 临时文件 319 15.16 文件操纵函数 319 15.17 总结 320 15.18 警告的总结 321 15.19 编程提示的总结 322 15.20 问题 322 15.21 编程练习 323 第16章 标准函数库 327 16.1 整型函数 327 16.1.1 算术  327 16.1.2 随机数 328 16.1.3 字符串转换  329 16.2 浮点型函数 329 16.2.1 三角函数  330 16.2.2 双曲函数  330 16.2.3 对数和指数函数  330 16.2.4 浮点表示形式  331 16.2.5 幂  331 16.2.6 底数、顶数、绝对值和余数  331 16.2.7 字符串转换  332 16.3 日期和时间函数 332 16.3.1 处理器时间  332 16.3.2 当天时间  332 16.4 非本地跳转  335 16.4.1 实例 336 16.4.2 何时使用非本地跳转 337 16.5 信号 338 16.5.1 信号名  338 16.5.2 处理信号  339 16.5.3 信号处理函数 340 16.6 打印可变参数列表  341 16.7 执行环境 342 16.7.1 终止执行  342 16.7.2 断言 342 16.7.3 环境  343 16.7.4 执行系统命令  343 16.7.5 排序和查找 344 16.8 locale 346 16.8.1 数值和货币格式  346 16.8.2 字符串和locale  348 16.8.3 改变locale的效果 349 16.9 总结 349 16.10 警告的总结 350 16.11 编程提示的总结 351 16.12 问题 351 16.13 编程练习 352 第17章 经典抽象数据类型 355 17.1 内存分配 355 17.2 堆栈 355 17.2.1 堆栈接口 356 17.2.2 实现堆栈 356 17.3 队列 364 17.3.1 队列接口 364 17.3.2 实现队列 365 17.4 树 369 17.4.1 在二叉搜索树中插入 370 17.4.2 从二叉搜索树删除节点 370 17.4.3 在二叉搜索树中查找 371 17.4.4 树的遍历 371 17.4.5 二叉搜索树接口 372 17.4.6 实现二叉搜索树 373 17.5 实现的改进 379 17.5.1 拥有超过一个的堆栈 379 17.5.2 拥有超过一种的类型 380 17.5.3 名字冲突 380 17.5.4 标准函数库的ADT 381 17.6 总结 383 17.7 警告的总结 384 17.8 编程提示的总结 384 17.9 问题 384 17.10 编程练习 385 第18章 运行时环境 387 18.1 判断运行时环境 387 18.1.1 测试程序 387 18.1.2 静态变量和初始化 390 18.1.3 堆栈帧 391 18.1.4 寄存器变量 391 18.1.5 外部标识符的长度 393 18.1.6 判断堆栈帧布局 393 18.1.7 表达式的副作用 398 18.2 C和汇编语言的接口 399 18.3 运行时效率 400 18.4 总结 402 18.5 警告的总结 403 18.6 编程提示的总结 403 18.7 问题 403 18.8 编程练习 403 附录 部分问题答案 405 索引 443 参考文献 448
彻底搞定C指针
彻底搞定C指针,详细讲解C的指针问题,以及指针和数组名的关系