c++debug&注意事项 自用 持续更新
cin后回车程序直接退出:
加system("pause");在return 0;前面
C++ 控制cout输出的小数位数
C++中的cout.setf()、cout.precision(),ostream成员函数里面的,也可以用输出流操作符来控制;
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << "test 1 =======" << endl;
double f = 3.1415926535;
cout << f << endl; // 3.14159
cout << setiosflags(ios::fixed); //只有在这项设置后,setprecision才是设置小数的位数。
cout << setprecision(0) << f << endl; //输出0位小数,3
cout << setprecision(1) << f << endl; //输出1位小数,3.1
cout << setprecision(2) << f << endl; //输出2位小数,3.14
cout << setprecision(3) << f << endl; //输出3位小数,3.142
cout << setprecision(4) << f << endl; //输出4位小数,3.1416
cout << "test 2 =======" << endl;
//cout.setf跟setiosflags一样,cout.precision跟setprecision一样
float a = 0.546732333;
float b = 3.563768245;
cout << a << endl;
cout << b << endl;
cout.setf(ios::fixed);
cout.precision(3);
cout << a << endl;
cout << b << endl;
cout.precision(1);
cout << a << endl;
cout << b << endl;
return 0;
}
如果不加cout << setiosflags(ios::fixed);
貌似输出的是有效数字?(好像也不是,存疑)
只有加上才能精确地控制小数点后位数。
编译器错误 C2447
“{”: 缺少函数标题(是否是老式的形式表?)
此编译器在全局范围内遇到了意外的左大括号。 大多数情况下,这是由格式错误的函数头、放错位置的声明或孤立的分号导致的。 若要解决此问题,请确认左大括号跟在格式正确的函数头后面,并且其前面没有声明或孤立的分号。
此错误也可能由旧式 C 语言形式自变量列表引起。 若要解决此问题,请重构参数列表以使用现代样式(即括在括号中)。
// C2447.cpp
int c;
{} // C2447
注1
#include <stdio.h>
int main()
{
int a = 3, b = 3;
(a = 1) && (b = 5);/*既是赋值又是逻辑判断
此时a已经等于1了,但是b仍然是5,因为
逻辑与 一假全假 后面语句没有进行赋值和判断*/
printf("a = %d, b = %d\n", a, b);
(a = 0) || (b = 4);/*前面a已经等于0了
但是逻辑或一真全真,无法判断,
后面语句依然执行赋值和判断*/
(a == 3) && (b == 3);
/*将a的值与3进行比较,
比较结果是true或false,
然后丢弃这个比较结果,
对printf不起作用*/
printf("a = %d, b = %d\n", a, b);
getchar();
return 0;
}
注2
count != 0 && sum/count
/*该表达式使用逻辑与(&&)
来确保 sum/count 的除数不为 0。
因为当 count 为 0 时,
并不会导致 sum/0,
因为根据短路求值的原则,
&& 运算符在左侧为假的情况下,
并不会计算右侧的表达式。*/
注3
#include<iostream>
using namespace std;
int main()
{
int year;
cout << "请输入一个年份,系统将会自动为您判断是否是闰年:";
cin >> year;
if ((year % 4 == 0 && year % 100 != 0) ||( year % 400 == 0))
cout << "该年是闰年" << endl;
else
cout << "该年不是闰年" << endl;
system("pause");
return 0;
}
关于#include <stdbool.h>
DEF:
bool 是C++中的关键字,C中不支持
所以C99标准中引入了头文件 stdbool.h,包含了四个用于布尔型的预定义宏
#define true 1
#define false 0
#define bool _Bool
typdef int _Bool
FUNC:
可以使用bool和true、false
输出是1或者0
1 #define _CRT_SECURE_NO_WARNINGS
2
3 #include<stdio.h>
4 #include<stdbool.h>
5
6 main()
7 {
8 bool b = 6 > 5;
9 bool t = true;
10
11 t = 2;
12
13 printf("%d\n", b);//1
14
15 system("pause");
16 }
ELSE
以此类推,我们还可以把程序中的
#define <stdbool.h>
改为以下就可以了,不用再去弄头文件:
#define bool int
#define true 1
#define false 0
二进制“<<”: 没有找到接受“const std::basic_string<char,std::char_traits,std::allocator>”类型的右操作数的运算
解决方法:
#include <string.h>
这是C语言字符数组的操作函数,不是C++ 的string类,改变cout的相应输出,智能输出字符#include <string.h>
改为#include <string>
c++debug&注意事项 自用 持续更新的更多相关文章
- redis配置文件redis.conf翻译、解释以及常用注意事项(持续更新中...)
# Redis configuration file example. #Redis 配置文件的示例 #如何利用配置文件启动Redis # Note that in order to read the ...
- springboot2 生产部署注意事项【持续更新】
注意事项1. 去除不需要的 jar 开发工具 jar :springs-boot-devtools2. 监控一定要做好权限制或者去除 控制 jar :spring-boot-starter-actua ...
- Debug 常见问题总结(持续更新)
2016-9-24 1.for循环变量做参数一定要小心,嵌套一个for变量不要用同一个. 2.字符串处理要打好下标的草稿,不然很容易搞混.(方法待讨论). 3.整形比较比较容易忽略=的问题 ,> ...
- Android Studio的一些技巧和使用注意事项(持续更新)
1.创建一个项目之后默认是没有assets目录的,可以手动在main目录下创建一个assets目录. 2.
- QT注意事项(持续更新...)
同样要注意new和delete的问题: is not a member of QApplication:这个错误可能是找不到信号或槽函数: 想用到信号槽,必须至少继承QObject类,并在类第一行写上 ...
- android webview一些注意事项(持续更新)
1.loadUrl() 的参数必须“http://”开头: 2.如果用到内部类获取页面内容,此类不能混淆: 3.2中情况保持不混淆需要将webview所在的包都保持不混淆,常规的保持类不混淆不生效: ...
- Tosca 注意事项(持续更新)
#浏览器不能同时打开两个,不然不知道选哪个 #浏览器必须是100% 不能zoom in zoom out #浏览器 internet options 必须要配置,不然跑的很慢 照着这个配 https ...
- PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)
说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...
- 【持续更新】JavaScript常见面试题整理
[重点提前说]这篇博客里的问题涉及到了了JS中常见的的基础知识点,也是面试中常见的一些问题,建议初入职场的园友Mark收藏,本文会持续更新~ 1. 引入JS的三种方式 1.在HTML标签中直接使用,直 ...
随机推荐
- javascript 最权威的知识点总结
JavaScript中如何检测一个变量是一个String类型?请写出函数实现typeof(obj) === "string"typeof obj === "string& ...
- IPFS挖矿赚钱吗?IPFS挖矿是真的吗?
IPFS一出现就获得了极高的关注度,「让人类信息永存」的口号也让其蒙上了一层神秘的面纱.今天我就来给大家自剖析,一探IPFS技术的真相. IPFS是一个去中心化存储网络,而Filecoin是IPFS激 ...
- 谜题(JAVA语言)
package 第三章习题; /* * 有一个5*5的网络,其中恰好有一个格子是空的,其他格子各有一个字母. * 一个有4种指令:A, B, L, R, 分别表示把空格上.下.左.右的相邻字母移到 ...
- python-6-1
1.定义一个时间戳转换成格式化时间的函数import time def timestamp_to_fomat(timestamp= None,format ='%Y-%m-%d %H:%M:%S' ) ...
- Java例题_26 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
1 /*26 [程序 26 求星期] 2 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 3 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情 ...
- Jmeter(四十) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 中篇(详解教程)
1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...
- SparkStreaming使用mapWithState时,设置timeout()无法生效问题解决方案
前言 当我在测试SparkStreaming的状态操作mapWithState算子时,当我们设置timeout(3s)的时候,3s过后数据还是不会过期,不对此key进行操作,等到30s左右才会清除过期 ...
- 研发效率破局之道 Facebook工作法
如果你问中国和美国互联网公司都有什么差别,很多人会回答:低效加班文化.最近爆出的996大讨论,通过糙快猛打拼和996加班去抢占市场获得机会的成功案例越来越少.至此,只有提高效能才是出路. 由于软件开发 ...
- leetcode 刷题(数组篇)15题 三数之和 (双指针)
很有意思的一道题,值得好好思考,虽然难度只有Mid,但是个人觉得不比Hard简单 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b ...
- Array.prototype.fill 填充值被复用的问题
考察如下示例代码: // 创建二维数组 const arr = Array(2).fill([]); // 操作第一个元素 arr[0].push(1); // 结果是操作了所有数组 console. ...