C语言复习
卑微的大专生
这个作者很懒,什么都没留下…
展开
-
输入15个字符,分别统计出其中英文字母、空格、数字和其他字符的个数_C语言
#include <stdio.h> #define I 15 int main() { char i[I] = {'0'}; int sum = 0,sum1 = 0,sum2 = 0,sum3 = 0; gets(i); for(int k = 0;k < I;k++) { if(i[k] >= 'A' && i[k] <= 'Z' || i[k] >= 'a' && i[k] ...原创 2022-01-28 21:41:39 · 2290 阅读 · 0 评论 -
杨辉三角形_打印图形_C语言
#include <stdio.h> #define N 10 int main() { int arr[N][N] = {0}; int row = 0,col = 0; for(row = 0;row < N;row++)//每行的第一个和最后一个都是1,列的话每列都有无法找到合适的规律。 { arr[row][0] = 1; arr[row][row] = 1; } for(row = 2;row &l...原创 2022-01-26 21:42:44 · 591 阅读 · 0 评论 -
打印菱形_打印图形_C语言
//第一种 #include <stdio.h> #define N 3 int main() { int row = 0,col = 0; //上半部分 for(row = 1;row <= N;row++) { for(col = 1;col <= N - row;col++)//空格和行数的关系 { printf(" "); } for(col = 1;c...原创 2022-01-26 19:10:25 · 557 阅读 · 0 评论 -
函数指针数组的应用——转移表_C语言
#define _CRT_SECURE_NO_WARNINGS 1 //函数指针数组的用途——转移表 //例如:计算器 #include <stdio.h> int Add(int x, int y) { return x + y; } int Sub(int x, int y) { return x - y; } int Mul(int x, int y) { return x * y; } int Div(int x, int y) { return x / ...原创 2022-01-22 19:19:22 · 302 阅读 · 0 评论 -
函数指针_C语言
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> //函数指针 - 是指向函数的指针 int Add(int x, int y)//有返回类型 { int z = 0; z = x + y; return z; } void Print(char *str)//无返回类型 { printf("%s", str); } int main() { int a = 10; int b = 20; ...原创 2022-01-21 12:24:43 · 349 阅读 · 0 评论 -
数组指针的应用_C语言
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> void print(int(*p)[5], int x, int y) { int i = 0; for (i = 0; i < x; i++) { int j = 0; for (j = 0; j < y; j++) { printf("%d", *(*(p + i) + j));...原创 2022-01-19 16:15:59 · 388 阅读 · 0 评论 -
二级指针_C语言
#include <stdio.h> int main() { int a = 10; int *pa = &a;//int *--->*表示的是这是一个指针,int 表示指向一个int类型 //pa指向a,pa存的是a的地址,a里面是一个int类型的数10。 int **ppa = &pa;//int **-->*表示这是一个指针,int*表示的是指向int*类型 //*ppa指向pa,*ppa存的是pa的地址,pa里面是in...原创 2022-01-19 14:06:26 · 369 阅读 · 0 评论 -
数组地址与数组元素地址_C语言
//&arr - 数组地址 (arr是数组首元素地址) //sizeof(arr) - 取的是整个数组的地址-应用:sizeof(arr)/sizeof(arr[0])算出数组的元素个数 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int arr[10] = { 0 }; printf("%p\n", arr);//00EFF8E0 printf("%p\n", arr + 1...原创 2022-01-19 11:36:11 · 973 阅读 · 0 评论 -
标准规定_数组指针_C语言
//标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较 #include <stdio.h> int main() { float values[5]; float *vp; for (vp = &values[5]; vp > &values[0];)//建议第一种 { *vp-- = 0; } for (vp...原创 2022-01-19 11:21:56 · 275 阅读 · 0 评论 -
如何规避野指针_C语言
1、指针初始化 2、注意指针越界问题 3、指针指向空间释放时,使其指向空指针 4、指针使用前,检查其有效性原创 2022-01-18 11:28:34 · 340 阅读 · 0 评论 -
指针类型存在的意义_C语言
//指针类型的意义:(为什么要区分指针类型) #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { //第一点:指针的类型决定了,指针进行解引用操作的时候,能够访问空间的大小 //int *p;//*p访问4个字节 //char *p;//*p访问1个字节 int a = 0x11223344; int *pa = &a; char *pb = &a; ...原创 2022-01-17 15:49:21 · 386 阅读 · 0 评论 -
野指针的成因_C语言
//野指针的形成 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { //野指针的成因一:指针未初始化 //定义变量,最好给它初始化 int a;//局部变量不初始化,默认值为随机值 int *p;//局部的指针变量不初始化,默认值为随机值 *p = 20; return 0; } //野指针的成因二:指针越界访问 int arr[10] = { 0 ...原创 2022-01-17 15:29:54 · 491 阅读 · 0 评论 -
判断字符串是否回文_C语言
//所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"level" 、 “aba”。 #include<stdio.h> #include<string.h> int main() { char str[50]; int flag = 0; scanf("%s",str); int len = strlen(str);//确定字符的长度,这里不能用sizeof它是测量所占空间的大小还有个 \0 for(int i = ...原创 2022-01-16 18:28:19 · 1735 阅读 · 0 评论 -
选择排序_C语言
//选择排序 //第一个数,依次和后面的数字进行比较 //每次比较的最值放到第一个位置 #include <stdio.h> int choice(int*arr,int sz) { for(int i = 0;i < sz - 1;i++)//i为每次比较的第一个数字的下标,5个数字比较的话,一共比较4次,每次的第一个数字下标是i { for(int j = i + 1;j < sz;j++)//j为i后面的数的下标,j<sz->s...原创 2022-01-16 17:49:34 · 407 阅读 · 0 评论 -
冒泡排序_C语言
//冒泡排序 //依次比较两个数 //每次只能找到最大的数,放在最后面 #include <stdio.h> int bubble(int *arr,int sz) { for(int i = 0;i < sz - 1;i++)//i表示次数,每一次比较都能获得最大/最小的数,5个数的话就进行 4次比较,10个数的话就进行 9次比较。 { for(int j = 0;j < sz - 1 - i;j++)//j表示每一次要进行比较的数的个数,每一...原创 2022-01-16 16:56:22 · 173 阅读 · 0 评论