![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习
C语言学习的一些代码,
静安书以沫
知识是一点点积累的,路是一步步走出来的
展开
-
C语言-对文件操作
文件操作函数#include<stdio.h>#include<io.h> /*************************************** 打开文件 fopen("文件路径","操作方式"); //返回值要赋给FILE类型指针 关闭文件 fclose(文件指针) 赋予文件描述字 fileno(文件指针) //返回值为整形 未使用时为文件全名, //使用后 描述字改为 返回值赋给的变量名 计算文件长度 fi原创 2020-11-05 08:49:39 · 107 阅读 · 0 评论 -
C语言-抽象数据类型三元组定义
#include<stdio.h>#include<stdlib.h> #define true 1#define false 0#define ok 1#define error 0#define infeasible -1 //不可行的 #define overflow -2 //溢出,一般用于exit(overflow),程序退出,无论哪里调用exit //程序都会推出,而return是退回到上一级。 typedef int status原创 2020-11-05 08:45:00 · 2016 阅读 · 0 评论 -
C语言-贪吃蛇代码,
#include<stdio.h>#include<string.h>#include<Windows.h>#include<time.h>#include<conio.h>#define up 'w'#define down 's'#define left 'a'#define right 'd'#define stop 'p'void welcome(); //55开始界面void Finish原创 2020-11-05 08:42:23 · 333 阅读 · 0 评论 -
C指针-指针和数组
指针遍历#include<stdio.h>int main(void){ int ai[]={0,1,2,3,4,5,6,7,8,9,-1}; int *p=ai; while(*p!=-1) { printf("%d\n",*p++); }}指针和数组```c#include<stdio.h>void m(int a[]) //a[]在此处相当于一个指针,相当于int *a { //传入的是a[]数组的原创 2020-11-05 08:35:58 · 94 阅读 · 0 评论 -
C指针-三元组定义及操作
#include<stdio.h>#include<stdlib.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1 //infeasible#define OVERFLOW -2 //overflow typedef int Status;typedef int ElemType;typedef ElemType* Triplet;Status in原创 2020-11-05 08:32:10 · 781 阅读 · 0 评论 -
C指针-对int &e和int星 &e的理解
#include<stdio.h>void gaizhi(int e)//这的e是一个新的e { e=8; printf(" int e 内部e的值和地址:\n"); printf("%d\n",e); printf("%d\n",&e); } void gaizhi2(int &e)//这的e和main的e是一个e 在这里改值,main里也改 { e=9; printf(" int &e 内部e的值和地址:\n"); pr原创 2020-11-04 09:14:23 · 3602 阅读 · 0 评论 -
C指针-NULL地址理解
#include <stdio.h> void fun(int *node) { static int N=100; node=&N; } int main() { int a=0; int *node=NULL; fun(node); a=*node; //段错误,NULL指逻辑地址0x00,没有映射到物理地址 return 0; } ...原创 2020-11-04 09:13:16 · 1557 阅读 · 0 评论 -
c编程常见错误-左值不能运算
#include<stdio.h>int main(){ int a=0; int b=0; //a+++++b; //++(a++);//编译报错,原因无左值! /* 因为a++的结果为左值,而左值不能再进行运算 左值(lvalue)是一个"拥有一个可以确定的地址(指向一个对象)"的标识符或表达式, 而右值(rvalue)只是一个值,并不一定指向一个对象 *//******************************************************原创 2020-11-04 09:10:33 · 1036 阅读 · 0 评论 -
c编程常见错误-数组溢出有时候会死循环
#include<stdio.h>int main(){ int i,a[10]; for (i=0;i<=10;i++) { a[i]=0; } //有的编译器会陷入死循环,原因:编译器按照内存地址递减的方式来给变量分配内存 //a之后的一个字,实际上是分配给了i,此时,计数器i值为10,a[10]=10时,实际上将 //计数器i值设置为0,这就陷入一个死循环 return 0;} ...原创 2020-11-04 09:09:33 · 465 阅读 · 0 评论 -
c编程常见错误-奇葩的函数声明
#include<stdio.h>int main(){ float *g();//()优先级大于*,此句含义为 g是一个函数,返回值为float* float (*h)();//一个指向返回值为float类型的函数指针 h是一个函数指针,(*h)是一个函数,*h返回值为float (*h)();//上一句是声明,这一句是调用 /************************************************************** 由函数声明,得到类原创 2020-11-04 09:08:38 · 182 阅读 · 0 评论 -
c编程常见错误-函数调用没写括号
#include<stdio.h>void abc();int main(){ abc(); abc;//这样也是编译通过的,但是,不是函数的调用,只是计算函数f的地址 return 0;}原创 2020-11-04 09:07:12 · 885 阅读 · 0 评论 -
c编程常见错误-函数声明没有参数类型声明
#include<stdio.h>int fun();//函数声明中没有所需参数类型的声明 int main(){ char a=0;printf("%f\n",fun(a));//有的编译器不会报错,输出乱码 return 0;}int fun(float a){ return a;}原创 2020-11-04 09:05:54 · 2072 阅读 · 0 评论 -
c编程常见错误-C允许初始化列表出现多余的逗号 不影响
#include<stdio.h>int main(){ int c[]={ 1,2,3,4,5, 6,7,8,9,10, }; int a=3,; printf("%d\n",a); return 0;}原创 2020-11-04 09:03:56 · 211 阅读 · 0 评论 -
c编程常见错误-const在普通数据类型,指针,传参中
#include<stdio.h>void fun(const int *p); int main(){ //const int m=0; //int n=0; //m=n; const int *m; int *n; m=n; //n=m;//warning:assignment discards qualifiers from pointer target type /*********************************************** co原创 2020-11-04 09:01:34 · 150 阅读 · 0 评论 -
2数相除强制转换输出小数。2数取最大。测试素数
#include<stdio.h> #include <string> int main() { int a,b; float c; scanf("%d,%d",&a,&b); c=(float)a/b; printf("%f",c); return 0;}2数取最大#include<stdio.h>// int main(){int max(int x,int y);int a,b原创 2020-11-03 15:37:30 · 79 阅读 · 0 评论 -
求和差积商取余,商保留2位小数.键盘输入求和.单精度浮点相除
求和差积商取余,商保留2位小数#include<stdio.h>int main(){int a,b,sum,d,e,g;float f;scanf("%d,%d",&a,&b);sum=a+b;d=a-b;e=a*b;f=a/b;g=a%b;printf("%d\n%d\n%d\n%.2f\n%d\n",sum,d,e,f,g);return 0;}键盘输入求和#include<stdio.h>int main(){int a原创 2020-11-03 15:17:07 · 967 阅读 · 0 评论 -
杨辉三角,直角。int赋给float丢失小数部分。float赋给int强制取整
#include<stdio.h>int main (){int i,j,a[6][6]={0};a[0][0]=1;for(i=1;i<=6;i++){ a[i][0]=1;for(j=1;j<=i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j]; }}for(i=0;i<6;i++){for(j=0;j<=i;j++){printf("%d",a[i][j]);printf(" “);}printf(”\n");}}原创 2020-11-03 15:09:44 · 282 阅读 · 0 评论 -
只要不按回车不能退出,输入数求ASCII对应符号,输出小数点后2位
#include<stdio.h>int main(){int a,b;a=1;printf("%d\n",a);while(getchar()!=’\n’);}原创 2020-11-03 15:07:38 · 124 阅读 · 0 评论