char函数

指针与字符串实例练习

老子叫甜甜 提交于 2020-03-08 20:03:22
在C语言中,字符串是存放在字符数组中的,字符串的引用如下: char string[] ="I love China!";//定义字符数组string printf("%s\n",string);//输出整个字符串 printf("%c\n",string[7]);//输出第七个元素 该字符串长度是14,最后一个字节存放字符串结束符'\0'。 例1:通过字符指针变量输出一个字符串。 1 int main() 2 { 3 char *string="I love China!"; 4 printf("%s\n",string); 5 return 0; 6 } 定义一个char*变量,即字符型指针变量string,用字符串常量"I love China!"初始化,把字符串的第一个元素的地址赋给指针变量string,使string指向字符串的第一个字符。 %s使输出字符串格式符,系统会输出string指向的第一个字符,然后自动使string+1,指向下一个字符,直到'\0'为止。 例2:将字符串a复制为字符串b,然后输出字符串b。 1 int main() 2 { 3 char a[]="I am student.",b[20],*p1,*p2; 4 p1=a;p2=b;//指向数组中第一个元素 5 for(;*p1!='\0';p1++,p2++) 6 *p2=*p1; 7 *p2=

周报

折月煮酒 提交于 2020-03-08 16:07:49
C语言 这周C语言主要以课设为主, # include <stdio.h> # include <conio.h> # include <string.h> # include <stdlib.h> # include <windows.h> struct date { int year ; int month ; int day ; } ; typedef struct people { char name [ 10 ] ; char card [ 20 ] ; int age ; char sex [ 5 ] ; struct date time ; char degree [ 10 ] ; char place [ 10 ] ; char phone [ 20 ] ; struct people * next ; } PEOPLE ; PEOPLE * input_people ( PEOPLE * head ) ; void display_people ( PEOPLE * head ) ; void query_name_people ( PEOPLE * head ) ; void query_card_people ( PEOPLE * head ) ; void query_name_phone_people ( PEOPLE * head ) ; void

ios学习记录 day10

微笑、不失礼 提交于 2020-03-08 15:03:46
1.指针 直接访问 //a = 20 间接访问 //通过地址访问内存内容 2.& 取地址 * 取内容 & 和 *配套使用 他俩正好相反 3.内存 栈区 从高向低分配 | 堆区 从低向高分配 1)、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2)、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3)、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。 - 程序结束后由系统释放。 4)、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 5)、程序代码区—存放函数体的二进制代码。 int a = 5; int b = 3; int c = 2; printf("%p\n%p\n%p\n",&a,&b,&c); 打印:0x7fff5fbff8b c 0x7fff5fbff8b 8 0x7fff5fbff8b 4 4.指针定义 类型 变量名 = 初值 int * p = NULL; //int * 是类型 NULL恒等于0 int a = 5; int * p = NULL;

18、字符串和数值转换函数

六月ゝ 毕业季﹏ 提交于 2020-03-08 09:46:16
1、atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include<stdlib.h> 定义函数 doubleatof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。 返回值 返回转换后的浮点型数。 附加说明 atof()与使用strtod(nptr,(char**)NULL)结果相同。 范例 /* 将字符串a 与字符串b转换成数字后相加*/ #include<stdlib.h> main() { char *a=”-100.23”; char*b=”200e-2”; float c; c=atof(a)+atof(b); printf(“c=%.2f\n”,c); } 2、atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include<stdlib.h> 定义函数 intatoi(const char *nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符

字符串函数

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-08 00:05:44
1. strcat函数 把src所指向的字符串(包括“\0”)复制到dest所指向的字符串后面(删除 dest原来末尾的“\0”)。要保证 dest足够长,以容纳被复制进来的*src。*src中原有的字符不变。返回指向dest的指针。 源字符串必须以‘\0’结束 目标空间必须足够大以容纳下源字符串的内容 目标空间必须可修改 # include <stdio.h> # include <stdlib.h> # include <string.h> char * Strcat ( char * dest , const char * src ) { if ( dest == NULL || src == NULL ) { return NULL ; } int cur = 0 ; while ( dest [ cur ] != '\0' ) { cur ++ ; } int i = 0 ; while ( src [ i ] != '\0' ) { dest [ cur + i ] = src [ i ] ; i ++ ; } dest [ cur + i ] = '\0' ; return dest ; } int main ( ) { char a [ 100 ] = "qwe" ; char b [ 100 ] = "asd" ; Strcat ( a , b ) ;

Linux内存点滴 用户进程内存空间

做~自己de王妃 提交于 2020-03-07 14:14:12
http://www.perfgeeks.com/?p=723 http://www.perfgeeks.com/?p=770 经常使用 top 命令了解进程信息,其中包括内存方面的信息。命令 top 帮助文档是这么解释各个字段的。 VIRT , Virtual Image (kb) RES, Resident size (kb) SHR, Shared Mem size (kb) %MEM, Memory usage(kb) SWAP, Swapped size (kb) CODE, Code size (kb) DATA, Data+Stack size (kb) nFLT, Page Fault count nDRT, Dirty Pages count 尽管有注释,但依然感觉有些晦涩,不知所指何意? 进程内存空间 正在运行的程序,叫进程。每个进程都有完全属于自己的,独立的,不被干扰的内存空间。此空间,被分成几个段 (Segment), 分别是 Text, Data, BSS, Heap, Stack 。用户进程内存空间,也是系统内核分配给该进程的 VM( 虚拟内存 ) ,但并不表示这个进程占用了这么多的 RAM( 物理内存 ) 。这个空间有多大?命令 top 输出的 VIRT 值告诉了我们各个进程内存空间的大小(进程内存空间随着程序的执行会增大或者缩小)。你还可以通过

2019春第七周作业

試著忘記壹切 提交于 2020-03-07 09:53:12
这个作业属于哪个课程 C语言程序设计II 这个作业要求在哪里 2019年春季学期第七周作业 我在这个课程的目标是 我希望能够通过学习C语言的知识,编写程序 这个作业在哪个具体方面帮助我实现目标 这个作业让我知道了掌握数组名作为函数参数的用法,理解指针和数组可以实现相同的操作 参考文献 字母大小写转换 , C 结构体 一、本周完成的作业 题目1. 6-2 每个单词的最后一个字母改成大写 (10 分) 函数fun的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。 函数接口定义: void fun( char *p ); 其中 p 是用户传入的参数。函数将 p所指字符串中每个单词的最后一个字母改成大写。 裁判测试程序样例: #include <stdio.h> void fun( char *p ); int main() { char chrstr[64]; int d ; gets(chrstr); d=strlen(chrstr) ; chrstr[d] = ' ' ; chrstr[d+1] = 0 ; fun(chrstr); printf("\nAfter changing: %s\n", chrstr); return 0; } /* 请在这里填写答案 */ 输入样例: my friend is happy 输出样例:

习题11-1 输出月份英文名 (15分)

隐身守侯 提交于 2020-03-07 09:13:33
本题要求实现函数,可以返回一个给定月份的英文名称。 函数接口定义: char *getmonth( int n ); 函数 getmonth 应返回存储了 n 对应的月份英文名称的字符串头指针。如果传入的参数 n 不是一个代表月份的数字,则返回空指针NULL。 裁判测试程序样例: #include <stdio.h> char *getmonth( int n ); int main() { int n; char *s; scanf("%d", &n); s = getmonth(n); if ( s==NULL ) printf("wrong input!\n"); else printf("%s\n", s); return 0; } /* 你的代码将被嵌在这里 */ 输入样例1: 5 输出样例1: May 输入样例2: 15 输出样例2: wrong input! 解答: char *getmonth(int n){ char *getmonth[13] = { "0", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; if (n > 0 && n < 13) return

习题11-4 字符串的连接 (15分)

匆匆过客 提交于 2020-03-07 09:10:56
本题要求实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t ); 函数 str_cat 应将字符串 t 复制到字符串 s 的末端,并且返回字符串 s 的首地址。 裁判测试程序样例: #include <stdio.h> #include <string.h> #define MAXS 10 char *str_cat( char *s, char *t ); int main() { char *p; char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'}; scanf("%s%s", str1, str2); p = str_cat(str1, str2); printf("%s\n%s\n", p, str1); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: abc def 输出样例: abcdef abcdef 解答: char *str_cat( char *s, char *t ){ int i; int lens = strlen(s),lent = strlen(t); for(i = 0;i<lent;i++){ s[i+lens] = t[i]; } return s; } 来源: CSDN 作者: youandworld 链接:

《游戏编程模式》(3)

隐身守侯 提交于 2020-03-07 08:22:35
Chatper 5 原型模式 核心思想是一个对象可以生成与自身相似的其他对象。 基类Monster,有一个抽象方法clone: 1 class Monster 2 { 3 public: 4 5 virtual ~Monster() {} 6 virtual Monster* clone() = 0; 7 8 // Other stuff... 9 }; 子类的clone实现: 1 class Ghost : public Monster { 2 public: 3 4 Ghost(int health, int speed) 5 : health_(health), 6 speed_(speed) 7 {} 8 9 virtual Monster* clone() 10 { 11 return new Ghost(health_, speed_); 12 } 13 14 private: 15 int health_; 16 int speed_; 17 }; 通用的Spawner类: 1 class Spawner 2 { 3 4 public: 5 Spawner(Monster* prototype) 6 : prototype_(prototype) 7 {} 8 9 Monster* spawnMonster() 10 { 11 return prototype_-