C/C++
你的代码没bug
No Bug
展开
-
C语言main函数参数详解
main函数参数一共有三个:1.int argc 整型变量2.char *argv[] 字符指针的数组,通俗一点就是字符串数组,每个元素都是字符串3.char *envp[] 字符串数组这三个东西再怎么神秘,也只是函数参数,只不过是main函数的参数罢了! 一、int argc参数用于存放命令行参数的个数二、char *argv[]参数每个元素都是一个字符串,表示命令行中的每一个参数。 关于int argc和char *argv[]参数,我用以下代码说原创 2020-12-10 16:27:29 · 13091 阅读 · 8 评论 -
利用getline函数输入字符串数组(注意点)
getline函数可以接收字符串,包括空格!但是在利用时应该注意以下问题 例子试着运行下面代码,看会有什么效果:#include <bits/stdc++.h>using namespace std;int main(int argc, char** argv) { int n; cin>>n; string arr[n]; for(int i=0;i<n;i++){ getline(cin,arr[i]); } for(int原创 2020-10-11 08:29:44 · 4405 阅读 · 1 评论 -
C语言中字符矩阵换行输入输出
要求:输入字符矩阵,换行输入,换行输出 题目分析:在输入字符矩阵时,换行符‘\n’会被当做字符存入字符矩阵中,准确的说,存入了每一行的最后一个。那么我们可以每一行多一个单位储存换行符,即在定义二维数组的大小时,列+1。 输入输出示例: C示例:#include <stdio.h>#include <stdlib.h...原创 2020-01-27 19:27:44 · 11541 阅读 · 5 评论 -
C++大小写转换tolower/toupper以及transform函数
函数介绍tolowerto lower,转换为小写字母toupperto upper,转换为大写字母通常要导入库:ctype.h(C++中是cctype),在下面例子中,没有导入该库,但是也可以运行。 在C++中使用将字符串 “abcDEF” 分别转换为大小写。#include <iostream>using namespace std;int main(int argc, char** argv) { string str="abcDEF"; for(i原创 2020-07-19 11:36:55 · 4136 阅读 · 0 评论 -
[Error] in C++98 'a' must be initialized by construct
C++使用结构体时产生错误。解决方法版本:Dev-C++ 4.8.1及以上找到:工具- >编译选项- >程序对应项改为:g++ -std=c++11原创 2020-05-01 22:36:28 · 2733 阅读 · 4 评论 -
C++转2、8、16进制的函数,避免繁琐代码!
方式一使用该方法要包含头文件#include < bitset >代码:#include <iostream>#include <bitset>using namespace std;int main(int argc, char** argv) { int a=18; cout<<hex<<a<<e...原创 2020-04-20 12:57:31 · 1034 阅读 · 0 评论 -
C++位运算列举
位运算~ 按位取反<< 左移>> 右移& 按位与^ 按位异或| 按位或优先级: “~” 大于 “<<” 等于 “>>” 大于 “&” 大于 “^” 大于"|" 按位取反二进制数下,1变为0,0变为1。 左移二进制数下,整体向高位移动一位,低位补0。左移相当于对数...原创 2020-04-20 11:49:40 · 297 阅读 · 0 评论 -
C++中关于前置++和后置++的执行效率
++a和a++我们用++a,以及a++举例子。虽然两者结果都是一样的,但是具体细节是不同的。先说++a,这一操作将a自增并返回a,不会有多余的操作。而a++不一样,在返回时有一个临时对象的创建。它会额外的产生副本。所以==++a的效率比较高一点==!!如果使用二者的效果都相同,那么建议使用++a。比如我们的for循环中变量的自增。 a+=1和a=a+1a+=1其实和上文...原创 2020-04-14 22:40:08 · 429 阅读 · 0 评论 -
C++中string常用方法
该文对方法进行了总结,最个别方法进行了说明,供忘记方法的朋友们使用。 常用方法总结:size()和length() //返回字符串的长度,包括空格find() //查找字符串在母串中的位置,返回第一次出现的位置rfind() //从母串末尾找字符串,找到时下标仍然返回正向下标find_last_of()和find_first_of() //找子串在母串中最后一...原创 2020-04-13 15:54:27 · 323 阅读 · 0 评论 -
细说C++中string的find方法和string::npos
find()函数find()函数是用来查找在字符串中的某个子串。如果找到,就返回子串第一次出现的首字母下标。如果没有找到,那么返回-1。简单例子:#include <iostream>#include <string>using namespace std;int main(int argc, char** argv) { string s="aabbc...原创 2020-04-12 16:56:00 · 412 阅读 · 0 评论 -
C++匿名函数的使用
匿名函数匿名函数,通俗的说就是没由函数的名字。 匿名函数和sort()一起使用可以在sort()函数中,用匿名函数自定义排序方法。 匿名函数和auto语句一起使用关于auto语句大家可以自行查找,在此不过多解释。使用auto时发生错误:使用auto报错。上述代码会输出3。一般情况下,编译器可以自动推断出匿名函数的返回类型,所以我们可以不指定返回类型。比...原创 2020-04-08 23:03:59 · 2295 阅读 · 0 评论 -
C++使用auto时报错
问题出现当我们使用auto时,结果报错了,如下:出现原因:默认把auto当做声明为自动变量。(自动变量意为拥有自动的生命周期)。这是C++98的标准。 解决方法版本:Dev-C++ 4.8.1及以上找到:工具- >编译选项- >程序对应项改为:g++ -std=c++11...原创 2020-04-07 22:42:55 · 5610 阅读 · 6 评论 -
C++中的__builtin_popcount()
函数详解该函数是C++自带的库函数,内部实现是用查表实现的。作用:统计数字在二进制下“1”的个数。 相关题目LeetCode:根据数字二进制下 1 的数目排序给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。如果存在多个数字二进制中 1 的数目相同,则必须将它们按照数值大小升序排列。请你返回排序后的数组。解题思路在创建一个数...原创 2020-04-07 16:42:53 · 7134 阅读 · 2 评论 -
Dev-C++不支持的16位应用程序:由于与64为版本的Windows不兼容...
问题出现该问题出现了好几次,没有得到很好的解决。我用以下的方法解决之后,过几天又会出现该问题。很是无奈。不知道读者朋友有什么好的办法。 问题解决首先,看自己安装的Dev-C++是否在C盘,不在C盘的话将软件卸载,重新安装到C盘。找到Dev-C++的bin目录:以下是我的bin目录。然后复制该路径。将该路径复制到环境变量中:最后重启电脑。(如果能正常使用就不必了)...原创 2020-03-31 11:36:33 · 7806 阅读 · 3 评论 -
C++中类的基本知识
访问权限控制成员的访问权限, 分为3种:public公共的访问权限, 可以不受限制随意访问private私有访问权限, 只能被自身的成员(不管是什么访问权限)访问, 无法继承protected受保护的成员, 只能通过继承或者友元访问公有成员在程序中类的外部是可访问的。可以直接通过“对象.属性名”的形式访问。私有成员变量或函数在类的外部是不可访问的,甚至是不...原创 2020-03-30 07:39:58 · 234 阅读 · 0 评论 -
Dev-C++的调试方法
Dev-C++的版本:Dev-C++ 5.11 第一步:单击工具的编译选项。 第二步:找到下图的选项,并将“产生调试信息”修改为yes。第三步:设置断点,开始调试。单击调试按钮,可以开始调试。如果选择下一步,碰到函数时不会进入的,直接跳过函数执行的细节。如果选择单步进入,会进入到函数中,将函数执行的细节显示。F9可以结束调试。 观察...原创 2020-03-22 11:44:15 · 1911 阅读 · 0 评论 -
C++中lower_bound和upper_bound函数用法举例
这两个函数是要对区间内升序的数字进行二分查找。在使用这两个函数时,要导入一个头文件:#include <algorithm>我们先看一个简单的例子,结合例子再说其用法。 函数运用例子:#include <iostream>#include <algorithm>using namespace std;int main(int ar...原创 2020-03-13 16:47:22 · 996 阅读 · 0 评论 -
C结构体指针变量
结构体指针变量指针变量指向一个结构体变量,那么就叫做结构体指针变量。下面是其基本用法:struct stu{ ......};struct stu stud; //定义结构体变量struct stu *pstud=&stud; //指针变量指向结构体变量上面的 pstud 就是结构体指针变量 用结构体指针变量访问结构体变量的成员方式一:指针变量-&g...原创 2020-02-09 15:53:51 · 1609 阅读 · 0 评论 -
C语言结构体总结
结构体类型的定义struct 结构体名{ 结构体成员表;(变量、指针、数组、结构体、共用体)};上面是定义的结构体类型,可以说是一个基础。在定义结构体类型时,系统并不为结构体类型分配内存空间,只有当定义结构体类型的变量时,系统才为每一个变量分配相应的存储单元。 结构体变量的定义方法一:首先定义结构体类型,再用结构体类型定义变量struct 结构名{ ...原创 2020-02-09 12:42:07 · 487 阅读 · 0 评论 -
用C++中引用交换两数,用C中指针交换两数
用C++中引用交换两数:在 “swap” 函数中交换两数,并在 “main” 函数中输出#include <iostream>using namespace std;void swap(int &pa,int &pb){ int temp; temp=pa; pa=pb; pb=temp;}int main(int argc, char *...原创 2020-02-06 10:40:46 · 398 阅读 · 0 评论