c语言
主要是记录学习的过程和常见错误
独自莫凭欄
。。
展开
-
gets()函数已经被弃用:warning: the ‘gets‘ function is dangerous and should not be used.
gets()函数已经被弃用:warning: the ‘gets’ function is dangerous and should not be used.今天写题目的时候用c++环境下,然后用了gets()函数,竟然给我报错了说这个函数没有声明,后来我换了C语言环境下编译,过是过了,但是给了我一个warning,说gets()函数不安全。我上网查了查果然如此。C 标准 (2011) 的最新修订版已明确地从其规范中删除了此功能。该函数在 C++ 中已被弃用(从 2011 标准开始,遵循 C99+TC3原创 2021-08-07 20:43:55 · 3743 阅读 · 0 评论 -
锐格———测试(悄悄看了两题一题还值得写一写把)
开头第一句,我真的不想学计算机了,好累啊。研究生能跑就跑把,我真是哭都哭不出来。题目1#include <stdio.h>#include <stdlib.h>#include <string.h>struct tree{int no;//编号 int num;//数的年龄 struct tree *next;};typedef struct tree Link_Node;void input(Link_Node *p){ scanf(.原创 2021-06-10 19:47:15 · 241 阅读 · 1 评论 -
纪念瑞格崩盘——字符串分割问题
纪念瑞格崩盘——字符串分割问题关于考试看了5题,就字符串老分割出问题,我得痛关于考试今天考试真的是离谱,考着考着瑞格崩溃了,我一个题目也没有交上去,吓死我了,还好重新考,这次考试我觉得难度说小肯定算不上去了,题目我没有全部看完。一共六个题目,我看了几个吧链表合并(这个题目没有数据结构里面的难,很水,就在一个链表尾巴上把另一个链表接上,好像是)结构体链表(没什么可说的,按思路来就行,就是链表里面的数据换成了结构体)一个二维数组问题,求和,删去最后一行和一列,而且最后删除反对角线上面元素。只有一点要原创 2021-06-05 17:14:30 · 100 阅读 · 2 评论 -
C语言———文件
C语言———文件C语言文件C语言文件**文件:**存储在外部介质上数据的集合,是操作系统数据管理的单位文件分类:按逻辑结构按存储介质按数据的组织形式文件类型指针:typ原创 2021-05-23 23:46:14 · 706 阅读 · 14 评论 -
排列问题 递归解法
排列问题关键问题是每次的swap转化问题前缀#include<iostream>using namespace std;void perm(int list[], int k, int m){ if(k == m){ for(int i = 0; i <= m; i++){ //输出list cout << list[i]; } cout << endl; } else { for(in原创 2021-03-27 22:48:29 · 81 阅读 · 0 评论 -
C语言 scanf(),gets(),getchar()等输入输出函数的区别
首先对于字符串而言scanf和gets的区别scanf函数:(1)scanf() 以空格或回车符结束读取,空格 或回车符会遗留在缓冲区 。(2)不能直接输入带空格的字符串。gets函数:(1)gets() 从标准输入设备读取字符串,以回车结束读取,使用’\0’结尾,回车符’\n’被舍弃没有遗留在缓冲区。(2)可以用来输入带空格的字符串。(3)可以无限读取,不会判断上限,因此使用gets不安全,可能会造成溢出对于字符getchargetchar()函数getchar函数的返回值原创 2021-03-11 20:52:28 · 744 阅读 · 0 评论 -
C语言*p、p,&p的区别,**p的含义
C语言*p、p,&p的区别,**p的含义指针的定义:指向地址的变量*p,p,&p的区别(1) p是一个指针变量的名字,表示此指针变量指向的内存地址。(2)*p是指p指针指向的地址里的数据。(3)&p是取p得地址(p本身就是一个地址,但同时也是一个变量。我认为可以这么理解,p是一个变量,他有自己的内存地址,同时p这个变量存储的也是一个地址)这个程序直观的显示了他们之间的关系**p的含义举个例子int **p :二级指针,表示p所指向的地址里面存放的是一原创 2021-01-22 20:04:36 · 32765 阅读 · 0 评论 -
LeetCode 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。:/** * Note: The returned array must be malloced, assume caller calls free(). */int* twoSum(int* nums, int numsSize,int target, int *r.原创 2021-01-15 20:46:52 · 80 阅读 · 0 评论 -
输入一句话,把其中的单词按行输出并统计单词个数
#include <stdio.h>#include <string.h>int main(){ char str[81],t[30]; int i,j,k; j=0;k=0; gets(str); for(i=0;(str[i]!='\0');i++) { if(str[i]==' ') { t[j]='\0'; if(strlen(t)!=0) { printf("%s\n", t); k++; j=0;原创 2021-01-12 12:14:49 · 844 阅读 · 1 评论 -
计算下列简单交错幂级数的部分和
计算下列简单交错幂级数的部分和计算下列简单交错幂级数的部分和:代码如下:#include <stdio.h>double fn( double x, int n );int main(){ double x; int n; scanf("%lf %d", &x, &n); printf("%.2f\n", fn(x,n)); return 0;}double fn( double x, int n ){原创 2021-01-08 21:43:07 · 206 阅读 · 0 评论 -
高精度乘法 C语言
高精度乘法为什么需要高精度乘法原因:首先我们看一看C语言用到的表示整数的数据类型1.int2.long int3.long long int即使是最大的long long int 类型能表达的位数依然有限所以需要该表处理更大数据的策略如何改进处理大数据的乘法既然我们的计算机无法处理这么大的数字,那么我们可以试着转换一下思想,做一个模拟乘法,他不一定是计算机在完成乘法而是给出一个算法,计算机程序执行完以后结果就是乘法得出的结果。而同时计算机不用处理这么大的数据。最容易想到的是把数字当原创 2021-01-04 16:05:28 · 1663 阅读 · 0 评论