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标签中直接使用,直 ...
随机推荐
- Apache Pulsar 在能源互联网领域的落地实践
关于 Apache Pulsar Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息.存储.轻量化函数式计算为一体,采用计算与存储分离架构设计,支 ...
- 【Azure 应用程序见解】 Application Insights 对App Service的支持问题
问题描述 Web App 发布后, Application Insights 收集不到数据了 问题分析 在应用服务(App Service)中收集应用的监控数据(如Request,Exception, ...
- 【Linux学习笔记1】-centos6.9部署django
一,centos6.9部署django 部署套件:centos6.9+nginx+mysql+uwsgi+python3+django 首先还是要明白这几个部分之间的关系(自己也是初学者,希望 ...
- C# - 实现类型的比较
IComparable<T> .NET 里,IComparable<T>是用来作比较的最常用接口. 如果某个类型的实例需要与该类型的其它实例进行比较或者排序的话,那么该类型就可 ...
- 前端vue性能优化
一:代码层次优化 1.1.v-if 和 v-show 区分使用场景 v-if 是 真正 的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建:也是惰性的:如果在初始渲染时 ...
- JS中dom操作的事件
Click--点击事件 优先级:dom.onclick 高于标签上的onClick属性 监听事件 --不会覆盖前面的事件效果 dom.addEventListener() 括号里面有三个参数 1 ...
- 实现FTP+PAM+MySQL环境,批量配置虚拟用户
实现FTP+PAM+MySQL环境,批量配置虚拟用户 搭建环境: CentOS6.5或CentOS6.7 [root@vhost3 ~]# uname -a Linux vhost3 2.6.32-5 ...
- C++并发与多线程学习笔记--future成员函数、shared_future、atomic
std::future的其他成员函数 std::shared_future 原子操作.概念.基本用法 多线程主要是为了执行某个函数,本文的函数的例子,采用如下写法 int mythread() { c ...
- qsort 快排函数(C语言)
qsort 快排函数(C语言) 函数原型 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, ...
- matlab文件管理
当前文价夹浏览器以及路径管理器 在主页面左侧有单独的窗口进行显示,可以显示当前目录下的文件并提供文件搜索功能. 搜索路径 搜索先后步骤 输入字符串"polyfit" (1)检查 ...