![](https://img-blog.csdnimg.cn/94e0bde0344c4d89b6ff6c6215fbc438.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C-PointersOnC
《C和指针》
fleet1126
这个作者很懒,什么都没留下…
展开
-
15.4-PointersOnC-20220510
scanf("[abc]",str);#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ char str[30]={}; scanf("%[abc]",str); fputs(str,stdout);return 0;}原创 2022-05-10 15:54:41 · 123 阅读 · 0 评论 -
13.10.4-PointersOnC-20220429
#include<stdio.h>#include<string.h>int compare_int(void *a,void *b);int compare_str(void *a,void *b);void swap(char *a,char *b,int len);void sort(void *front,int n,int len,int (*pfunc)(void *,void *));void showarr(void *front,int n,ch...原创 2022-04-29 16:48:34 · 315 阅读 · 0 评论 -
13.10.1-PointersOnC-20220423
#include<stdio.h>#include<ctype.h>int Reroop();void function();int main(int argc,char **argv){ for(fputs("Enter to quit:->",stdout);Reroop();function(),fputs("Enter to quit:->",stdout));return 0;}//int Reroop(){ int ch=0,c...原创 2022-04-23 22:57:10 · 441 阅读 · 0 评论 -
13.9.1-PointersOnC-20220421
原创 2022-04-21 14:42:48 · 209 阅读 · 0 评论 -
12.8.7-PointersOnC-20220416
二维单链表#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h>#define LENWORD 21typedef struct node{ char *word; struct node *next;}Node;typedef struct list{ char le.原创 2022-04-16 22:00:47 · 420 阅读 · 0 评论 -
12.8.6-PointersOnC-20220405
//初始为空的双链表#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *pfwd; struct node *pbwd; char value[LENWORD];}Node;char *my_fgets(char *p,in...原创 2022-04-05 00:49:18 · 156 阅读 · 0 评论 -
12.8.5-PointersOnC-20220402
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *link; char value[LENWORD];}Node;char *my_fgets(char *p,int n);int ClearList(Node **p);...原创 2022-04-02 23:13:44 · 63 阅读 · 0 评论 -
12.8.4-PointersOnC-20220402
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *link; char value[LENWORD];}Node;char *my_fgets(char *p,int n);int ClearList(Node **...原创 2022-04-02 22:24:35 · 53 阅读 · 0 评论 -
12.8.2-PointersOnC-20220402
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *link; char value[LENWORD];}Node;char *my_fgets(char *p,int n);int ClearList(Node **...原创 2022-04-02 13:19:23 · 275 阅读 · 0 评论 -
12.8.1-PointersOnC-20220402
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *link; char value[LENWORD];}Node;char *my_fgets(char *p,int n);int ClearList(Node **...原创 2022-04-02 10:50:31 · 271 阅读 · 0 评论 -
12.7.1-PointersOnC-20220401
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *link; char value[LENWORD];}Node;char *my_fgets(char *p,int n);int ClearList(Node **...原创 2022-04-01 15:34:48 · 257 阅读 · 0 评论 -
12.3-PointersOnC-20220331
单链表#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *link; char value[LENWORD];}Node;char *my_fgets(char *p,int n);int ClearList(Node **原创 2022-03-31 16:24:58 · 698 阅读 · 0 评论 -
12.4-PointersOnC-20220328
双链表教材里未使用二级指针,先用双指针法#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENWORD 11typedef struct node{ struct node *pfwd; struct node *pbwd; char value[LENWORD];}Node;char *my_fgets(char *p,int n);/原创 2022-03-28 22:57:23 · 1692 阅读 · 0 评论 -
12.3-PointersOnC-20220312
在链表中插入新项,并不是肤浅的理解为在前项与后项之间插入新项,而要理解为前项的link指针指向新项,新项的link指针指向后项。原创 2022-03-12 23:05:30 · 336 阅读 · 0 评论 -
11.11.4-PointersOnC-20220309
#include<stdio.h>#include<stdlib.h>typedef struct node{ int num; struct node* node_next;}Node;Node *Initialize_Node(Node *p);Node *Add_Node(Node *p,int n);void Show_Node(Node *p);int main(){ Node *pdata=NULL; for(int i=0;i<100;i++) if(!(pdata原创 2022-03-09 22:07:45 · 166 阅读 · 0 评论 -
11.11.3-PointersOnC-20220309
#include<stdio.h>#include<stdlib.h>#include<string.h>char *readstring(char *p);int main(){ char *str=NULL; if(str=(char *)calloc(11,sizeof(char))){ fputs("Input the string:->",stdout); if(!readstring(str)) fputs("Reques...原创 2022-03-09 12:47:24 · 137 阅读 · 0 评论 -
11.11.2-PointersOnC-20220308
#include<stdio.h>#include<stdlib.h>void readinteger(int *p);int main(){ int *arr=(int *)calloc(1,sizeof(int)); if(!arr) return 1; readinteger(arr); fputs("The arr is:",stdout); for(int i=0;i<=*arr;printf("%d ",*(arr+i)),i++); ...原创 2022-03-08 22:48:30 · 163 阅读 · 0 评论 -
11.11.1-PointersOnC-20220308
#include<stdio.h>#include<stdlib.h>void *my_calloc(size_t count_element,size_t size_element){ void *ptemp=NULL; if(ptemp=malloc(size_element*=count_element)) for(char *pset=(char *)ptemp;size_element--;*pset++=0);return ptemp;}原创 2022-03-08 21:34:03 · 60 阅读 · 0 评论 -
10.11.1-PointersOnC-20220308
#include<stdio.h>typedef struct{ unsigned short area; unsigned short exchange; unsigned short station;}Number;typedef struct{ unsigned char year; unsigned char month; unsigned char day; unsigned char hour; unsigned char minute; unsigne...原创 2022-03-08 14:07:52 · 87 阅读 · 0 评论 -
9.14.16-PointersOnC-20220306
额外增加了format和digit完全检测,将检测过程与转化过程分离,经过比较,官方答案更好。原创 2022-03-06 23:07:58 · 228 阅读 · 0 评论 -
9.14.15-PointersOnC-20220304
#include<stdio.h>#include<string.h>#include<stdlib.h>char *my_fgets(char *p,int n);void dollars_a(char *dest,char *src);void dollars(char *dest,char *src);void dollars1(char *dest,char *src);int main(){ char input[101]={0}; ch...原创 2022-03-04 16:51:40 · 207 阅读 · 0 评论 -
9.14.14-PointersOnC-20220303
//原先的加密方法太简单,给其加码,原始key中单个字母重复次数使其在key数组补全后与另一个字母进行换位,每个字母重复次数累计值如为奇数,key数组顺时针移动该累计值的位数,偶数为逆时针#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>#include<ctype.h>char *my_fgets(char *p,int n);int prepare_key(char *key);void encrypt_原创 2022-03-03 21:57:52 · 68 阅读 · 0 评论 -
9.14.10-PointersOnC-20220302
#include<stdio.h>#include<string.h>#include<ctype.h>int is_palindrome(char *string);int main(int argc,char *argv[]){ char str[]="Madam,I'm Adam"; fputs(is_palindrome(str)?"It's a palindrome.\n":"It's not a palindrome.\n",stdout);...原创 2022-03-02 12:20:52 · 136 阅读 · 0 评论 -
9.14.9-PointersOnC-20220302
#include<stdio.h>int count_chars(char *str,char *chars);int main(){ char str[]="112223333444445555556666666777777778888888889999999999"; char chars[]="26"; printf("%d\n",count_chars(str,chars));return 0;}//int count_chars(char *str,char *c...原创 2022-03-02 10:32:34 · 95 阅读 · 0 评论 -
9.14.8-PointersOnC-20220302
#include<stdio.h>char *my_strnchr(char *str,int ch,int which);int main(){ char str[]="81118222833384448555866687778888"; int ch=8+'0'; fputs(my_strnchr(str,ch,2),stdout);return 0;}//char *my_strnchr(char *str,int ch,int which){ char *foun...原创 2022-03-02 09:48:41 · 132 阅读 · 0 评论 -
9.14.7-PointersOnC-20220302
#include<stdio.h>char *my_strrchr(char *str,int ch);int main(){ char str[]="1234123412341234888"; int ch=2+'0'; fputs(my_strrchr(str,ch),stdout);return 0;}//char *my_strrchr(char *str,int ch){ char *found=NULL; for(;*str;str++) if(*str...原创 2022-03-02 09:31:00 · 119 阅读 · 0 评论 -
9.14.5-PointersOnC-20220301
#include<stdio.h>#define LEN_DEST 8void my_strncat(char *dest,char *src,int len_dest);int main(){ char src[]={'5','6','7','8','9'}; char dest[LEN_DEST]={'1','2','3','4'}; my_strncat(dest,src,LEN_DEST); fputs(dest,stdout);return 0;}//void...原创 2022-03-01 22:01:04 · 67 阅读 · 0 评论 -
9.14.2-PointersOnC-20220301
#include<stdio.h>#include<stddef.h>size_t my_strlen(char *str,size_t len_arr);int main(){ char test[99]={'1','2','3','0'}; printf("%u\n",my_strlen(test,99));return 0;}//size_t my_strlen(char *str,size_t len_arr){ size_t len_str=0; ...原创 2022-03-01 15:57:16 · 113 阅读 · 0 评论 -
9.14.1-PointersOnC-20220301
#include<stdio.h>#include<string.h>#include<ctype.h>typedef struct{ int cntrl; int space; int digit; int lower; int upper; int punct; int nonprint; char str[101]; int count;}Data;char *my_fgets(char *p,int n);void ShowCount(Data *data);int原创 2022-03-01 13:31:08 · 71 阅读 · 0 评论 -
8.8.8-PointersOnC-20220221
八皇后谜题是编程必修课,对于我一个算法新手来说,刚接触时,想像的是一个二维棋盘,然后从第一行第一列开始布置皇后,当一个皇后放置后,对其攻击范围进行改值,以供后面的皇后放置判断,然后八个皇后放置成功后保存当前二维棋盘,再生成一个新的二维棋盘,第一个皇后从第1行第2列开始布置,保存仓库为一个三维数组。后来一想,不需要保存二维棋盘,只需要保存八个皇后的坐标(结构体)就行,保存仓库缩减为一个二维结构体数组,但是用这种方法却根本计算不出有效的八皇后结果。只能在网上找找相关介绍了,原来棋盘八行八列,八皇后必然行列坐原创 2022-02-21 16:41:53 · 343 阅读 · 0 评论 -
8.8.5-PointersOnC-20220216
//应该是版本问题,函数形参必须是二级指针,并不能按照书本答案对一级指针进行压扁数组操作//如果必须要将形参定为一级指针,就采用void *的方法#include<stdio.h>#include<stdlib.h>#include<time.h>void matrix_multiply(int **m1,int **m2,int **r,int x,int y,int z);//void matrix_multiply(void *m1,void *m2,void *r,int x,int y原创 2022-02-16 09:45:23 · 233 阅读 · 0 评论 -
8.8.4-PointersOnC-20220215
#include<stdio.h>#include<stdlib.h>#include<time.h>int Is_Identity_Matrix(int **arr,int num);int main(){ int row=0,ch=0,**matrix=NULL; srand((unsigned int)time(0)); for(fputs("Input the row of matrix:->",stdout);(ch=scanf_s("...原创 2022-02-15 11:38:25 · 212 阅读 · 0 评论 -
8.8.2-PointersOnC-20220214
#include<stdio.h>#include<float.h>float tax_information[3][6]={ {0,23350,56550,117950,256500,DBL_MAX}, {0,3502.5,12798.5,31832.5,81710.5}, {0.15,0.28,0.31,0.36,0.396}};float single_tax(float income);int main(){ printf("%f\n",single_...原创 2022-02-14 15:02:44 · 267 阅读 · 0 评论 -
8.8.1-PointersOnC-20220214
#include<stdio.h>unsigned char char_value[3][6][4][5]={ {}, { {}, { {}, {0,' '} }, { {}, {}, {0,0,0,'A'}, {0,0,0,0,'x'} }, { {}, {}, {0,0,0xf3} }, { {},{}, {0,0,0,'\n'} } }, { {}, { {}...原创 2022-02-14 13:48:17 · 192 阅读 · 0 评论 -
7.11.6-PointersOnC-20220211
//思路:每3位对整数进行切片,以动态内存方式生成一个指向含有切片数个元素的指针数组的二级指针,//指针数组中每个指针指向以整数切片转化成的字符串,根据字符串内容及单位所需要的内存大小以动态内存方式生成一个整体的字符串,//将指针数组中每个指针指向的字符串进行拼接,其中加入单位字符串,按顺序存入整体字符串。//代码应该可以再修整下#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h...原创 2022-02-11 16:53:07 · 444 阅读 · 0 评论 -
7.9.b-PointersOnC-20220203
#include<stdio.h>#include<stdarg.h>float average(int n,...);int main(){ printf("%lf\n",average(4,2,3,4,5));return 0;}//float average(int n,...){ va_list var_arg; float sum=0; va_start(var_arg,n); for(int i=0;i<n;sum+=va_arg(var...原创 2022-02-03 23:39:48 · 218 阅读 · 0 评论 -
6.18.3-PointersOnC-20220130
#include<stdio.h>void reverse_string(char *string);int main(){ char str[]="123456789"; reverse_string(str); fputs(str,stdout);return 0;}//void reverse_string(char *string){ char *left=string,*right=string; for(;*right;right++); right--;...原创 2022-01-30 09:05:25 · 264 阅读 · 0 评论 -
5.9.5-PointersOnC-20220128
#include<stdio.h>int store_bit_field(int original_value,int value_to_store,unsigned int starting_bit,unsigned int ending_bit);int main(){ printf("%x",store_bit_field(0xffff,0x123,13,9));return 0;}//int store_bit_field(int original_value,int va.原创 2022-01-28 16:07:35 · 138 阅读 · 0 评论 -
4.14.5-PointersOnC-20220126
#include<stdio.h>#include<string.h>int main(){ char str1[128]={0}; char str2[128]={0}; for(int flag=0;gets(str1)!=NULL;strcpy(str2,str1)){ if(!strcmp(str2,str1)&&!flag&&*str1){ puts(str1); flag=1; } else if(str.原创 2022-01-26 22:55:30 · 111 阅读 · 0 评论 -
7.11.4-PointersOnC-20220207
#include<stdio.h>#include<stdarg.h>int max_list(int first,...);int main(){ printf("The max is:%d.\n",max_list(0,6,9,5,2,3,2,3,6,985,211,3,-1));return 0;}//int max_list(int first,...){ int max=first,temp=0; va_list var_arg; va_start(var_arg,first)原创 2022-02-07 11:29:07 · 401 阅读 · 0 评论