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标签中直接使用,直 ...
随机推荐
- springmvc 最权威的知识点
1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,C ...
- 文本编辑工具 Vim与压缩打包
vim一共有3种模式:一般模式.编辑模式和命令模式 一般模式下的移动光标 光标向左移动:h或者向左的方向键 光标向右移动:l或者向右的方向键光标向上移动:k或者向上的方向键光标向下移动:j或者向下的方 ...
- C语言可变参函数分析
code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...
- helm3.1安装及结合ceph rbd 部署harbor
[root@bs-k8s-ceph ~]# ceph -s cluster: id: 11880418-1a9a-4b55-a353-4b141e2199d8 health: HEALTH_WARN ...
- 学习笔记-vue.js快捷登录 enter
一般监听在输入密码的input监听keyup事件,加enter修饰符.如果input是组件,加上.native修饰符.<div id="app"> <input ...
- 【Git基本命令】
[基本指令] git init :使目标文件夹变成一个仓库 git add <文件名,含后缀> : 告诉git我要添加文件了 git commit -m "<提交说明> ...
- Spring Boot自动配置原理
使用Spring Boot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这 是如何做到的? 一切魔力的开始,都是从我们的main函数来的,所以我们再次来 ...
- pandas(5):数学统计——描述性统计
Pandas 可以对 Series 与 DataFrame 进行快速的描述性统计,方便快速了解数据的集中趋势和分布差异.源Excel文件descriptive_statistics.xlsx: 一.描 ...
- java中的|=符号
今天看mybaits源码的时候,发现了这个特殊的符号用法,|=. for (ParameterMapping pm : boundSql.getParameterMappings()) { Strin ...
- JDBC_04_使用Properties集合保存JDBC所需配置信息
使用Properties集合保存JDBC所需配置信息 将JDBC连接所需的配置信息保存在一个配置文件中,然后使用Properties将该信息存储起来,动态的完成JDBC的配置连接 代码: import ...