wen~C
*南夕~
这个作者很懒,什么都没留下…
展开
-
使用scanf函数注意的问题
scanf函数注意点:函数参数必须一一对应数据类型也要一一对应scanf是缓冲输入的,也就是说从键盘输入的数据都会先存放在内存中的一个缓冲区,只有按回车键之后scanf才会进入缓冲区读取数据,所取数据的个数取决于 scanf 中“输入参数”的个数(因而我们说参数的个数必须一一对应),从键盘输入的一切数据,不管是数字、字母,还是空格、回车、Tab 等字符,都会被当作数据存入缓冲区。存储的顺...原创 2019-11-25 17:14:57 · 338 阅读 · 0 评论 -
指针数组和数组指针
指针数组首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定它是“储存指针的数组”的简称形式:char *p[10]理解:"[]"的优先级高于“*”,因而p先和“[]”结合,形成数组,数组名为p,数组里面的类型为“int *”。现在就明白,指针数组,就是一个数组,其包含10个指向char类型的指针访问:#define _CRT_SECURE_NO...原创 2019-09-07 11:16:42 · 131 阅读 · 0 评论 -
C语言中的操作符详解
操作符和表达式1.操作符分类:1.1算数操作符: + - * / %需要注意的是:%操作符的两个操作数必须为整数/ 操作符如果两个操作符都为整数,则为整数除法,如果有一个操作数为浮点数,则为浮点数除法1.2移位操作符:不要移动负数位,这个是标准未定义的 << 左移操作符 >> 右移操作符左移操作符的移位规则:左边抛弃,...原创 2019-09-04 16:39:37 · 205 阅读 · 0 评论 -
gets() 和 scanf() 区别与用法
gets函数:输入字符串的函数一般形式:gets(字符数组)作用:从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址scanf函数:输入函数一般形式scanf("%d",&a) a为整型scanf("%c",&a) a为字符型scanf("%s",str) str为数组名...原创 2019-08-31 09:32:28 · 602 阅读 · 0 评论 -
不使用任何变量实现strlen函数
采用递归的方法:用assert宏做入口校验确定参数传递过来的地址上的内存存储的是否为’\0’。如果是,表明这是一个空字符串,或者是字符串的结束标志确定递归停止的条件:当字符串的结束标志符’\0’时,递归停止。代码如下:int My_strlen(char *string) { assert(string != NULL); if (*string=='\0') { ...原创 2019-08-28 20:54:21 · 164 阅读 · 1 评论 -
一个整形数组,分别寻找两个只出现一次的元素和一个只出现一次的元素
一个只出现一次的元素输入:1 3 5 7 1 3 5输出:7这里介绍采用异或的方法:0^0=00^1=11^1=0相同的数异或为0,任何数和0异或为这个数我们可以利用这一点,异或整个数组,返回这一个元素代码如下:int Search(int arr[], int len){ int i, tmp = 0; for (i = 0; i < ...原创 2019-08-20 18:56:39 · 542 阅读 · 0 评论 -
C语言警告:warning C4018: 有符号 无符号不匹配
警告如下:代码出问题地方:原因如下:strlen 函数的返回值类型为无符号类型。其功能:计算给定字符串的(unsigned int型)长度,不包括’\0’在内更改如下:测试后,未出现警告...原创 2019-08-19 14:19:40 · 2169 阅读 · 2 评论 -
字符串的压缩
字符串的压缩其实是RLE压缩算法"xxxyyzz"压缩之后为"3x2y2z”代码如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include<stdlib.h>//xxxyy------>3x2y RLE行程长度编码压缩算法void ...原创 2019-08-19 13:55:37 · 547 阅读 · 0 评论 -
memset函数
memset函数作用:将某一块内存中的内容全部设置为指定的值头文件: <memory.h>或<string.h>函数原型:void *memset( void *dest, int c, size_t count );count:以字节为单位将dest中当前位置后面的n个字节用 ch 替换并返回 s例如:#include <stdio.h>...原创 2019-07-24 19:53:12 · 119 阅读 · 0 评论 -
编写一个函数,去除多余的空格
题意:如果字符串中如果有一个地方有一个或者多个连续的空格出现,就把他们改成单个空格字符。例子:How are you?How are you?思想:采用遍历的方法,当碰到一个空格,就将它打印出来,之后碰到的空格就直接跳过。代码void deblank(char string[]) { char* string_temp = string;...原创 2019-07-24 17:21:42 · 850 阅读 · 0 评论 -
1到 100 所有整数中出现多少个数字9(c语言)
首先寻找含9的数,在1~100之间,会有三种情况:个位含9十位含9个位,十位都含9我们知道一个整数求个位数:个位数=整数%10例如:8787%10==7,即个位数为7求十位数:十位数=整数/10例如:8787/10==8,即十位数为8具体实现代码如下:#include <stdio.h>#include <stdlib.h>int ...原创 2019-07-18 14:58:38 · 6679 阅读 · 2 评论