C语言
QWQ___qwq
公众号:CS漫谈
展开
-
结构体与指针总结
字符 字符串 这里定义char* str,这里的str是指向char类型的指针。str是指向某处的char类型的数组上图的指针应该初始化 指针 结构体原创 2021-07-27 09:42:27 · 161 阅读 · 0 评论 -
C语言中的指向运算符:->
解释:"->"代表一个箭头,称为指向运算符。使用场景:当在结构体变量中使用指针时用到->。使用方法:C语言允许把(*p).name用p->name代替,都表示p所指向的结构体变量中的name成员。常见错误:1、p.name (x),“.”运算符的优先级别高,所以p一定要用括号。2、*p->name (x),*p是指针p指向的对象,指向运算符配合的是指针。原文链接:https://blog.csdn.net/m0_46606140/article/details/1075738转载 2022-03-10 21:06:16 · 2958 阅读 · 1 评论 -
结构体定义以及和typedef混合使用的方法
原回答是:https://blog.csdn.net/ziguo201009由于原回答没有排版,所以我重新排版了一下1、最常用定义方式:定义结构体data,此时结构体相当于一个类型,比如int,如需使用此结构体,方法同intstruct data { char aa; char bb; char cc; int dd;};struct data sum1, sum2;2、定义结构体data同时,定义需要使用的结构体变量sum1,sum2。如后面再需要定义结构转载 2022-03-10 20:40:26 · 786 阅读 · 0 评论 -
C语言字符窜的定义以及读取一整行的方法
C 库函数 - gets()C 标准库 - <stdio.h> C 标准库 - <stdio.h>描述C 库函数 char *gets(char *str) 从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。当读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。例子#include <stdio.h>int main(){ char str[50];//定义字符串 printf("请输入一个字符串:");原创 2021-09-30 14:45:21 · 1359 阅读 · 0 评论 -
float和double在使用scanf和printf的时候用%f还是%lf
输入输出float%f%fdouble%lf%lf 或 %f我的建议:float:无论输入输出都用 %fdouble:输入输出统一都用 %lf原创 2021-08-24 14:30:03 · 9345 阅读 · 1 评论 -
运用四舍五入的方法
1.对于总成绩要a的40%+b的60%(四舍五入精确到整数)ans=(a*0.4+b*0.6+ 0.5);2.对于某个数N四舍五入t = N / 2 + N % 2;原创 2021-08-18 08:59:54 · 103 阅读 · 0 评论 -
ASCII码对照表
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bi原创 2021-08-16 14:01:25 · 133 阅读 · 0 评论 -
scanf用法及scanf中有\n的问题
scanf()函数的原理想象输入设备(键盘)连接着一个叫“缓冲”的东西,把缓冲认为是一个字符数组。当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住,等待你从键盘输入。现在假设你的缓冲区里有:abcd\n1234\n (其中\n是回车符)执行:scanf("%s",name);的时候,由于scanf是读数据直到看见空白符(空白符:指空格符、制表符、回车符)就停止的输入函数。所以执行后,把abcd存到了name中。缓冲区于是变成了 : \n1234\n接下来的执行就有问题转载 2021-08-13 12:57:33 · 581 阅读 · 0 评论 -
结构中的变量可以和别的变量重名吗?
结构体中的成员变量名,与非结构体变量没有关系,可以相同。因为,结构体中的成员变量在引用时,必须要用结构体变量名+成员变量名来引用,所以不会有冲突!原创 2021-08-11 08:36:14 · 2219 阅读 · 0 评论 -
C/C++中的结束输入条件判断 (scanf、EOF、getchar()、cin.get()、getline)
详细解答:点击即可原创 2021-08-08 14:14:04 · 471 阅读 · 0 评论 -
C++ 传递数组给函数
C++ 中您可以通过指定不带索引的数组名来传递一个指向数组的指针。C++ 传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址。如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。方式 1形式参数是一个指针:void myFunction(int *param){...}方式 2形式参数是一个已定义大小的数组:vo转载 2021-08-08 14:07:48 · 107 阅读 · 0 评论 -
关于char能存储多少个数字或者字符的问题
答案:只能存储一个数字或者一个字符#include <iostream>using namespace std;int main() { char c1,c2,c3,c4,c5; c1='a'; c2='1'; c3='abc';//存储了c c4='123';//存储了4 c5=1234;//不会有结果 cout<<c1<<endl; cout<<c2<<endl; cout<<c3<<end原创 2021-08-04 09:30:18 · 5682 阅读 · 0 评论 -
scanf()如何跳过某些字符读取
输入:1/2输出:1 2#include<iostream>using namespace std;int main() { int a, b; scanf_s("%d/%d", &a,&b);//这里只需要加一个/即可 cout << a << " " << b << endl; return 0;}原创 2021-07-26 19:12:41 · 1477 阅读 · 0 评论 -
unable to find numeric literal operator ‘operator““m’
这是直接写的数学乘号了,应该写 *比如2m代码应该写成 2*m原创 2021-07-25 19:25:24 · 2773 阅读 · 0 评论 -
关于double和float和int以及%f,%lf,%llf,%Lf以及printf和scanf的总结
另外,float占四个字节,double占8字节,在表示浮点数(小数)时double精度要高的很多。对于long double类型的变量,printf()中的说明符可以用%Lf,而scanf()中的说明符则只能用%Lf。对于double类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%lf;对于float类型的变量,printf()中的说明符可以用%f或%lf,而scanf()中的说明符则只能用%f;建议不使用float变量,而使用double。原创 2021-07-23 21:32:22 · 20104 阅读 · 1 评论 -
if()中的continue
continue语句用于循环语句中,作用是不执行循环体剩余部分,直接进行下次循环。常见的就是与if连用。比如下面这个程序:int main(){ int i; for(i = 0; i < 10; i ++) { if(i%2==0) continue;//如果i为偶数 调用continue,则不执行后面的语句; printf("%d,", i);//输出i值 }}这个程序会循环10次,i值为0到9.当i为0,2,4,6原创 2021-04-04 13:57:24 · 1825 阅读 · 0 评论 -
多个if语句连用和else if语句的区别
下面这种语句中,程序会依次判断条件1和条件2是否成立并根据结果决定是否执行语句1和语句2,也就是说,第一个 if 块和第二个 if 块没有影响(除非在执行第一个 if 块的时候就 return 了)if (条件1){ //语句1}if (条件2){ //语句2}下面这种语句if 块和 else if 块本质上是互斥的!也就是说,一旦语句1得到了执行,程序会跳过 else if 块,else if 块中的判断语句以及语句2一定会被跳过;同时语句2的执行也暗含了条件1判断失原创 2021-01-22 09:31:31 · 5490 阅读 · 2 评论 -
[刷题总结]递归的问题
点击即可转载 2021-01-18 17:12:59 · 80 阅读 · 0 评论 -
C语言%p与%x的区别
“%p”中的p是pointer(指针)的缩写。%p是打印地址的, 而%x是以十六进制形式打印。%p是打印地址(指针地址)的,是十六进制的形式,但是会全部打完,即有多少位打印多少位。32位编译器的指针变量为4个字节(32位),64位编译器的指针变量为8个字节(64位)。所以,在32位编译器下,使用%p打印指针变量,则会显示32位的地址(16进制的);在64位编译器下,使用%p打印指针变量,则会显示64位的地址(16进制的),左边空缺的会补0。%x:无符号十六进制整数(字母小写,不像上面指针地址那样补零原创 2021-01-18 10:06:07 · 9413 阅读 · 0 评论 -
C语言程序设计笔记(C language programming note)
C Language Programming Notesauthor Yandate 6.21文章目录————— ꧁༺༻꧂ —————###I####搞一个伪随机数在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为:int rand (void);void 表示不需要传递参数。C语言中还有一个 random() 函数可以获取随机数,但是 random() 不是标准函数,不能在 VC/VS 等编译器通过,所以.原创 2020-06-21 14:34:33 · 1067 阅读 · 0 评论 -
C语言重点笔记
###函数####递归函数###数组一维数组的定义 int a[10];数组大小必须是值为正的常量,不能为变量,一旦定义,不能改变大小大小最好用宏定义,以适应未来的变化#define N 10int a[N];一维数组的初始化未初始化的数组元素值是什么?静态数组和全局数组自动初始化为0值否则,是随机数.一维数组的初始化1. int a[5] = { 12, 34, 56, 78, 9 }; int a[5] = { 0 };//全是0. int a[5] = { 1原创 2020-06-28 15:26:06 · 543 阅读 · 0 评论