C语言再学习
重新温习C语言知识
Jarvis-01
这个作者很懒,什么都没留下…
展开
-
C语言字符串反转
实现逻辑,就是将字符串从中间一分为二,互相换位置即完成了翻转的效果#include <stdio.h>#include <string.h>//反转字符串void rechange_str(char *str){ int len,i; char tem; if(str==NULL) { return ; } len = strlen(str); for(i = 0;i<len/2;i++) { tem = str[i]; str[i].原创 2021-07-17 11:56:27 · 6059 阅读 · 1 评论 -
C语言堆区
C语言堆区堆的内存成员手动申请,手动释放简单示例:#include <stdio.h>int *getSpace(){ int i; int *p = malloc(sizeof(int) * 5);//这里手动申请20字节大小内存,将首地址给p if (NULL == p) { return NULL; } //只要是连续的内存空间,都能使用下标的方式访问内存 for (i = 0; i < 5; ++i) { p[i] = 100 + i; }原创 2021-07-17 01:08:23 · 394 阅读 · 0 评论 -
C语言栈区
C语言栈区栈区的内存自动申请自动释放,不需要我们手动管理我们来举例子程序执行到22行,跳转到第11行,首先有个局部变量,局部变量是存放到栈区的s char类型的指针变量占4个字节,值为NULL。程序执行到4行之后,栈空间分配str,“hello world”存放在常量区执行到第6行返回的是str的地址,给s —> 值变为0x0002但是目前程序执行完char *getString()之后,str已经被释放了所以现在str里面是什么值都有可能,我们来看下程序执行结果..原创 2021-07-16 23:41:52 · 231 阅读 · 0 评论 -
C语言break,continue,return的作用
break:只会在内循环中结束本次循环,小循环结束此次执行,不会跳过大循环。#include <stdio.h> int main (){ int i=0,j=0; for (i = 0; i < 4; i++ ) { printf("i 的值: %d\n",i); printf("---------\r\n"); for (j = 0; j < 3; j++ ) { if( j==1){ break;原创 2021-07-15 16:48:22 · 140 阅读 · 0 评论 -
C语言不使用库函数,实现字符串拷贝功能
任务:不使用库函数,实现字符串拷贝功能char src[100] = "hello";char dst[100]; //把src的内容拷贝给dst实现逻辑:逐个复制,直到遇到‘\0’为止#include <stdio.h>char *copy_str(const char *str,char *dst){ //先判断字符串是否为空 if(str==NULL || dst == NULL) { return NULL; } //创建一个临时变量 .原创 2021-07-13 15:53:07 · 2014 阅读 · 0 评论 -
C语言指针互换数字
# include <stdio.h>void huhuan_1(int , int);void huhuan_2(int *, int *);void huhuan_3(int *, int *);int main(void){ int a = 3; int b = 5; huhuan_3(&a, &b); //huhuan_2(*p, *q); 是错误的, huhuan_2(a, b);也是错误的 printf("a = %d, b = %d\n".原创 2021-07-11 16:08:43 · 346 阅读 · 0 评论 -
C语言素数
素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数:程序解释:输入一个数字,输出在此之前所有素数# include <stdio.h>bool IsPrime(int m) { int i; for (i=2; i<m; ++i) //得到参数m之后判断 { if (0 == m%i) //只要求余之前的任意一个数值为0 即可跳出for循环 break; } .原创 2021-07-10 17:19:15 · 494 阅读 · 0 评论 -
C语言斐波那契数列
指的是这样一个数列:0、1、1、2、3、5、8、13、21、34......#include <stdio.h>int main(void){ int a=0,b=1,c=1,n; printf("请输入您需要求的想的序列: "); scanf("%d",&n); for(int i=1;i<=n;i++) { a=b; b=c; c=a+b; } printf("%d\n",c);} .原创 2021-07-10 09:59:16 · 170 阅读 · 0 评论 -
C语言回文数
什么是回文数:例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。代码:# include <stdio.h>int main(void){ int val; //存放待判断的数字 int m; int sum = 0; printf("请输入您需要判断的数字: "); scanf("%d", &val); m = val; while (m) { sum = sum * 10 + m%10; m /=原创 2021-07-09 14:56:26 · 500 阅读 · 0 评论 -
C语言互换两个数字
代码:# include <stdio.h>int main(void){ int i = 3; int j = 5; int t; //定义临时变量 //互换i和j的方法 t = i; i = j; j = t; printf("i = %d, j = %d\n", i, j); return 0;}运行结果:i = 5, j = 3原创 2021-07-09 14:13:45 · 369 阅读 · 0 评论 -
C语言对三个数字排序
要求:编写代码完成a是最大值 b是中间值 c是最小值# include <stdio.h>int main(void){ int a, b, c; int t; printf("请输入三个整数(中间以空格分隔): "); scanf("%d %d %d", &a, &b, &c); if (a < b) { t = a; a = b; b = t; } if (a < c) { t = a; a..原创 2021-07-09 13:32:08 · 453 阅读 · 0 评论 -
printf中%x及其相关的用法
第一种定义List方法:void main(List<String> args) { List mylist = ['香蕉','苹果','橘子']; print(mylist[1]);}List里面的属性:原创 2021-07-09 13:06:32 · 4703 阅读 · 0 评论