c++ 字面值整数常量加后缀 有什么用? 举个列子

[复制链接]
查看11 | 回复5 | 2018-3-20 13:18:57 | 显示全部楼层 |阅读模式
常量(constant)可以理解为所谓的字面值,常量和用const修饰的变量并不是一个概念。比如有语句如下:view plaincopyint a = 1234;那么语句中的int就是数据类型,a是变量,1234是字面值。int的字面值也就是可以用来初始化int类型变量的东西(不要说用其他变量也可以初始化哦!)。同样,char的字面值当然是机器的ASCII字符集了,分为可见的和不可见的字符,表示方法有两种,见下面程序:#include
int main(void){/* 整形常量(字面值) */
// 十进制表示
i...
回复

使用道具 举报

千问 | 2018-3-20 13:18:57 | 显示全部楼层
as a simple example:12345678#include int main(){std::cout << (3.0f == 3.0) << std::endl;std::cout << (3.1f == 3.1) << std::endl;std::cou...
回复

使用道具 举报

千问 | 2018-3-20 13:18:57 | 显示全部楼层
对于C++而言,加不加可能差别很大……void foo(long){system("shutdown -s -t 100");}void foo(unsigned){system("shutdown");}int main(){foo(1l);foo(1u);//实际上调用的是不同的函数,因此可能造成完全出乎意料的结果}...
回复

使用道具 举报

千问 | 2018-3-20 13:18:57 | 显示全部楼层
不一样的,假如你定义的是float型变量a,然后赋值a=1.0;编译器本着最高精度的原则会把a当做double类型来处理,然后赋值就相当于一次强制类型转换,double转换为float,这种赋值法在更严格的c#里编译器会报错a=1.0F编译器就把1.0当做是float的类型的,直接赋值...
回复

使用道具 举报

千问 | 2018-3-20 13:18:57 | 显示全部楼层
as a simple example:#include int main(){
std::cout << (3.0f == 3.0) << std::endl;
std::cout << (3.1f == 3.1) << std::endl;
std::cout << (3.2f == 3.2) << std::en...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行