您的位置:首页 > 其它

为什么在定义符号常量时const pi=3.14 没出错 而且和const int pi=3.14时 输出pi的值是一样的 但不等于3.14

2008-10-20 09:06 204 查看
这很简单啊 二者在效率和安全性上差别很大 所以**p就是 cout << p << endl;//这个式了输出的是p的值 就是指向p的地址 *p就是i的值2 int **pi = &p;//定义一个指向int类型的指针的指针 所以p的值是i的地址 赋值给p 就是指针就是地址 int i=2; p=&i;//取i的地址 出现你题目中所说的什么2300453或者189423这些....

|||
int 是整形 不能有小数

答案补充
const int &pi=3.14 这句话是将 3.14强制转换为整形 它会自动4舍5入 所以是3

答案补充
int *p;//定义一个指向int类型的指针 否则就会出错 值一定要与类型相对应 在进行赋值的时候 经编译后发现:const <类型> <变量> 当然不会有小数 其次 请不要混淆 #define定义的叫做符号常量 const定义的叫做常变量 我来老嘿嘿:首先要纠正楼主一个错误哈 问什么答什么嘛 而p的值是i的地 址所以此处输出i的地址.

|||
用float定义变量P

所以输出p的地址 cout << *pi << endl; //*取值运算..而pi中是p的地址.所以此时输出p的值 pi中存的是p的地址 当然输出p的地址 cout << pi <<endl;//如上所说 p本身也是变量 从这个地址中取值.当然是i cout << &p << endl; //&是取地址运算 如上所说是i的地址 cout << *p << endl;//*是取值运算..此是p是i的地址
楼上答得太罗嗦了 请把int改为float就可以了至于为什么输出会是一个无法预料的数字 int称为整型 因为你定义的变量类型是int型阿 为什么是3不是3.14
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐