C语言辨析
C语言内容辨析
天青i
一起码起来!
展开
-
cosnt修饰指针辨析
const在 * 之前,cons修饰的是指针指向的对象;const在 * 之后,cons修饰的是指针本身。原创 2022-01-19 19:40:52 · 720 阅读 · 3 评论 -
scanf设置精度、域宽易错点
在printf时,可以设置输出的精度和域宽(%m.pX或%-m.pX格式 - 这里m、p都是整数,X是字母,p若要省去,m与p之间的.也要省去);但是scanf是不能设置精度的,但是可以设置输入的域宽,即不可以有%.pX类形式,但是可以有%mX类形式。此类问题一般不会报错,但是输出结果会有问题!...原创 2021-12-07 13:53:08 · 2285 阅读 · 10 评论 -
什么?用memcmp比较浮点数竟然比出了1.0大于2.0!莫慌,来看详解
memcmp是一个库函数,用来比较两个内存块的前num个字节;该函数在头文件<string.h>中,函数定义为:int memcmp (const void *s1, const void *s2, size_t n);代码演示#include<stdio.h>#include<string.h>int main(){ float arr1[] = { 1.0,2.0,3.0,4.0,5.0 }; float arr2[] = { 1.0,1..原创 2021-09-10 19:51:53 · 357 阅读 · 3 评论 -
数组数组 指针指针 数组指针 指针数值 详解二者结合体int(*parr[6])[6]
目录数组指针指针数组int arr[6]int* p=&aint *parr1[6]int (*parr2)[6]int(*parr3[6])[6]首先数组、指针,单个看我们都明白,就不介绍了。数组指针即指向数组的指针。指针数组即元素为指针的数组。int arr[6]很简单,arr是一个数组,有6个元素,元素类型是int;即arr是一个含有6个整型元素的数组。int* p=&a也很简单,*表示p是一个指针,指向原创 2021-08-25 22:31:43 · 212 阅读 · 1 评论 -
模拟库函数strcpy之改善改善再改善再再改善
首先,普通写法#include<stdio.h>void my_strcpy(char* dest, char* src){ while (*src != '\0') { *dest = *src; dest++; src++; } *dest = *src;}int main(){ char arr1[] = "#############"; char arr2[] = "hello"; //strcpy(arr1, arr2);//后者内容.原创 2021-08-23 21:17:11 · 118 阅读 · 0 评论 -
关于const使用的一些辨析
const修饰指针变量的时候:1. const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改 变。但是指针变量本身的内容可变。 2. const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指 针指向的内容,可以通过指针改变。代码演示代码1 const无效使用#include<stdio.h>int main(){ const int num = 10; int* p = #...原创 2021-08-23 20:52:36 · 110 阅读 · 0 评论 -
详解转换说明%-3d、%3d、%nd、%*2d、%0nd、%0.1f、%5.1f、%*d等含义
%m.pX或%-m.pX格式 - 这里m、p都是整数,X是字母,p若要省去,m与p之间的.也要省去。m - 最小字段宽度,指定了要显示的最少字符数量,如果要显示的数值所需字符少于m,那么值在字段内右对齐(m前加 - 时,是左对齐),多余字符位置放置空格;如果要显示的值所需字符多于m,那么字段宽度会自动扩展为所需尺寸。p - 精度,很难表述,依赖于转换说明符X的选择。%d 有符号10进制整数;%i 有符号10进制整数;%F/f 浮点数;%E/e 用科学表示格式的浮点数;%g...原创 2021-08-22 18:56:36 · 22100 阅读 · 11 评论 -
不知永不会类型题之有符号数与无符号数比较大小
求下面代码打印结果#include<stdio.h>int a;//全局变量 - 不初始化 - 默认为0int main(){ a--; if (a > sizeof(a)) { printf(">\n"); } else { printf(">\n"); } return 0;}思路解析a为全局变量,不初始化,默认为0;a--使得a = -1,为有符号数-1 - 有符号数10000000 00000000 00.原创 2021-08-22 15:17:37 · 244 阅读 · 0 评论 -
一道关于操作符优先级的计算求值题
求下面代码打印结果#include<stdio.h>int main(){ int a, b, c; a = 5; c = ++a; b = ++c, c++, ++a, a++;// = 优先级高于 , b += a++ + c; printf("a = %d b = %d c = %d\n", a, b, c); return 0;}思路解析:首先a = 5,c = ++a,++a是前置++,先++再使用,所以a = 6,.原创 2021-08-22 15:07:03 · 132 阅读 · 0 评论 -
一次看懂 绕绕的数组名arr、&arr[0]、&arr、指针p之间关系
看代码:#include <stdio.h>int main(){ //arr arr+1表示第二个元素的地址 printf("%p\n", arr);//00CFFC20 printf("%p\n", arr+1);//00CFFC24 相差4 - 一个整型元素为4字节 //&arr[0] &arr[0]+1表示第二个元素的地址 printf("%p\n", &arr[0]);//00CFFC20原创 2021-08-17 19:48:03 · 1005 阅读 · 2 评论