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标签中直接使用,直 ...
随机推荐
- C++如何解析函数调用
C语言是一个简单的语言.用户针对每一个函数,只能设置一个唯一的函数签名.但是C++而言,就给了我们很多的灵活性: 你可以将多个函数设置为相同的名字(overloading) 你可以使用内置操作符重载( ...
- 自动获取IMC系统所有网络设备资产信息
1 #coding=utf8 2 3 """ 4 CMDB接口调用 5 """ 6 import csv 7 import json 8 i ...
- [BFS]最优乘车
最优乘车 题目描述 HH 城是一个旅游胜地,每年都有成千上万的人前来观光.为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路.每条单程巴士线路从某个巴士站出发,依 ...
- 设计Web页面(2)
1.前面我们新建了一个空白的ASP.NET网页,那么接下来这章我们就讲一下设计Web页面 2.布局页面有两种方法,一种是通过Table表格来布局页面窗体,另一种是通过CSS+DIV来布局窗体,其中作为 ...
- 软工案例分析之OJ
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 和我的团队开发一个真正的软件,一起提升开发与合作的能力 这 ...
- B1029/A1048 旧键盘损坏了,在输入一段文字时坏了的键不可以正常使用,现给出应输入的一段文字,和实际输出的文字,找出坏掉的键。
#include<cstdio> #include<cstring> const int maxn = 1000; bool HashTable[maxn] = { false ...
- Leedcode算法专题训练(链表)
1.发现两个链表的交点 160.两个链表的交集(容易) Leetcode /力扣 public class Solution { public ListNode getIntersectionNode ...
- QTableWidget导致程序崩溃
不要随意访问tableWidget->item(x,y)->text(); 尤其是通过tableWidget->setRowCount(x);初始化后但是未写入数据的格子: 原因:就 ...
- Github Pages+Gridea设置DisqusJS评论
1 前言 相信很多人都对Github Pages不默认,笔者之前写过了一篇文章,使用Github Pages去搭建博客的,链接可以戳这里. 但是唯一的不足是没有提到评论,因为当时笔者测试了一下,评论设 ...
- Linux下屏幕亮度的调节
1 概述 Linux下的屏幕调节可以通过图形界面或者命令行进行调节,图形界面的话主要就是在设置中进行调节,如果设置中没有相应的选项可以进行手动调节. 2 手动调节 2.1 手动屏幕调节 亮度由ACPI ...