char

编写函数:char *strch(char *str, char c),如果指定字符是str字符串的元素,返回元素所在的首地址,否则,返回NULL。

空扰寡人 提交于 2020-03-05 06:01:39
# include <stdio.h> char * strch ( char * str , char c ) { while ( * str ) { if ( * str == c ) { return str ; } str ++ ; } return NULL ; } void main ( ) { char s1 [ 100 ] = "AABCD123ABCD123ABCDA" ; char c = '1' ; printf ( "%s" , strch ( s1 , c ) ) ; } 来源: CSDN 作者: 轻松的小希 链接: https://blog.csdn.net/qq_38490457/article/details/104633572

声明优先级规则

与世无争的帅哥 提交于 2020-03-05 05:58:15
Question:(1) char * const *(*p)()想要表达的意思是?      (2) const char* const *p想要表达的意思又是? 想要回答上述两个问题,就要先来看一下C/C++语言声明的优先级规则吧 A  声明从它的名字开始读取,然后按照优先级顺序依次读取。 B  优先级从高到低依次是:   B.1  声明中被括号括起来的那部分   B.2  后缀操作符:       括号()表示这是一个函数,而放括号[]表示这是一个数组。   B.3  前缀操作符:       星号*表示“指向...的指针”。 C  如果const和/或volatie关键字的后面紧跟类型说明符(如int char等),那么它作用于类型说明符。在其他情况下,它作用于它作便紧邻的指针星号。 按照上述规则,我们来分析: (1)char * const *(*p)()   首先找到标识符p,按照规则B.1,p是一指针;接着按照规则B.2,p是一函数指针;按照规则B.3,p是一函数指针,该函数返回值为指针类型;依照规则C,const后面没有类型说明符,因此它是一个const pointer to char,即指向char类型的常指针。   总结:p是一函数指针,它指向一个函数,该函数返回值为一指针,该指针指向char类型的常量指针 (2)const char* const *p  

code

浪子不回头ぞ 提交于 2020-03-04 23:53:29
des: #include <stdio.h> #include <string.h> #include <iostream> #include <stdlib.h> using namespace std; int IP_Table[64] = { //IP置换矩阵 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7}; int E_Table[48] = { //扩展矩阵 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1}; int P_Table

c、c++知识点

こ雲淡風輕ζ 提交于 2020-03-04 21:12:28
一、   (1)在linux下类似uint8_t这样的文件定义在头文件<stdint.h>里面    (2)截取了stdint.h头文件里的一些常用部分           二、c++中c_str()用法        函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。 注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针 比如:最好不要这样:     char* c;     string s="1234";     c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理  应该这样用:     char c[20];     string s="1234";     strcpy(c,s.c_str());   这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作  再举个例子 c_str() 以 char* 形式传回 string 内含字符串 如果一个函数要求char*参数,  可以使用c_str()方法:      string s = "Hello World!";      printf("%s", s.c_str()); //输出

在C和C ++中将char转换为int

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-04 18:50:11
如何在C和C ++中将 char 转换为 int ? #1楼 对于char或short to int,您只需要分配值即可。 char ch = 16; int in = ch; 与int64相同。 long long lo = ch; 所有值均为16。 #2楼 使用 static_cast<int> : int num = static_cast<int>(letter); // if letter='a', num=97 编辑: 您可能应该避免使用 (int) int num =(int)字母; 签出 为什么使用static_cast <int>(x)而不是(int)x? 有关更多信息。 #3楼 好吧,在ASCII码中,数字(数字)从 48 开始。 您需要做的只是: int x = (int)character - 48; #4楼 我在C语言中具有绝对的 null 技能,但需要进行简单的解析: char* something = "123456"; int number = parseInt(something); ...这对我有用: int parseInt(char* chars) { int sum = 0; int len = strlen(chars); for (int x = 0; x < len; x++) { int n = chars[len - (x + 1

c++get请求乱码decode解码(亲测有效)

﹥>﹥吖頭↗ 提交于 2020-03-04 18:36:40
```cpp ussigned char FromHex ( unsigned char x ) { unsigned char y ; if ( x > 'A' && x <= 'Z' ) { y = x- 'A' +10 ; } else if ( x > '0' && x < 'z' ) { y = x- 'a' +10 ; } else if ( x > '0' && x <= '9' ) { y = x- '0' ; } else { assert ( 0 ) ; } return y ; } string UrlDecode ( string str ) { string strTemp = "" ; size_t length = str.length ( ) ; for ( size_t i = 0 ; i < length ; i++ ) { if ( str [ i ] == '+' ) { strTemp+ = '' ; } else if ( str [ i ] == '%' ) { assert ( i+2 < length ) ; unsigned char high = FromHex (( unsigned char ) str [ ++i ] ) ; unsigned char low = FromHex (( unsigned char )

表达式解析和表达式求导面向对象

百般思念 提交于 2020-03-04 18:32:28
表达式解析和表达式求导 Differential Homework 形式化描述 对表达式做求导 设定的形式化表述 表达式 → \rightarrow → 空白项 [加减 空白项] 项 空白项 | 表达式 加减 空白项 项 空白项 项 → \rightarrow → [加减 空白项] 因子 | 项 空白项 * 空白项 因子 因子 → \rightarrow → 变量因子 | 常数因子 变量因子 → \rightarrow → 幂函数 | 三角函数 常数因子 → \rightarrow → 带符号的整数 幂函数 → \rightarrow → x [空白项 指数] 三角函数 → \rightarrow → sin 空白项 ‘(’ 空白项 x 空白项 ‘)’ [空白项 指数] | cos 空白项 ‘(’ 空白项 x 空白项 ‘)’ [空白项 指数] 指数 → \rightarrow → ** 空白项 带符号的整数 带符号的整数 → \rightarrow → [加减] 允许前导零的整数 允许前导零的整数 → \rightarrow → (0|1|2|…|9){0|1|2|…|9} 空白字符 → \rightarrow → (空格) | \t 空白项 → \rightarrow → {空白字符} 加减 → \rightarrow → + | - 其中{}表示0个、1个或多个,[

C#高级编程:读写文本文件

时光怂恿深爱的人放手 提交于 2020-03-04 18:09:10
GPS平台、网站建设、软件开发、系统运维,找森大网络科技! http://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=459 C#高级编程:读写文本文件 理论上,可以使用FileStream类读取和显示文本文件。前面已经介绍了这个类。上面显示NewFile.txt文件的格式不太容易理解,但这并不是FileStream类的问题——而在于我们在文本框中显示结果所使用的方式。 如果知道某个文件包含文本,通常就可以使用StreamReader 和 StreamWriter类更方便地读写它们。这是因为这些类工作的级别比较高,特别适合于读写文本。它们执行的方法可以根据流的内容,自动检测出停止读取文本较方便的位置,特别是: ●这些类执行的方法可以一次读写一行文本(StreamReader.ReadLine() 和 StreamWriter.WriteLine())。在读取文件时,流会自动确定下一个回车符的位置,并在该处停止读取。在写入文件时,流会自动把回车符和换行符添加到文本的末尾。 ●使用StreamReader 和 StreamWriter类,就不需要担心文件中使用的编码方式(文本格式)了。可能的编码方式是ASCII(一个字节表示一个字符)或者基于Unicode的格式,UNICODE、UTF7和

IT公司100题-17-第一个只出现一次的字符

拟墨画扇 提交于 2020-03-04 12:21:44
问题描述: 在一个字符串中找到第一个只出现一次的字符。例如输入asdertrtdsaf,输出e。 分析: 最简单的方法是直接遍历,时间复杂度为O(n^2)。 进一步思考: 字符串中的字符,只有256种可能性,使用字符的为下标,扫描一遍,存储各个字符在字符串中的出现。第二次扫描字符串,查看每个字符在字符串中的出现次数,如果为1,输出即可。 代码实现: package oschina.IT100; /** * @project: oschina * @filename: iT17.java * @version: 0.10 * @author: JM Han * @date: 12:54 2015/12/19 * @comment: find the 1st char that only exist once in string * @result: */ public class iT17 { public static Character findChar(String s){ int[] int_set = new int[256]; char[] char_set = s.toCharArray(); for(char c: char_set){ int_set[c]++; } for(char c: char_set){ if(int_set[c] == 1) return

MySQL 处理重复数据:防止表中出现重复数据、统计、过滤、删除重复数据

北慕城南 提交于 2020-03-04 10:23:46
MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。 防止表中出现重复数据 你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录。 CREATE TABLE person_tbl ( first_name CHAR(20), last_name CHAR(20), sex CHAR(10) ); 如果你想设置表中字段 first_name,last_name 数据不能重复,你可以设置双主键模式来设置数据的唯一性, 如果你设置了双主键,那么那个键的默认值不能为 NULL,可设置为 NOT NULL。如下所示: CREATE TABLE person_tbl ( first_name CHAR(20) NOT NULL, last_name CHAR(20) NOT NULL, sex CHAR(10), PRIMARY KEY (last_name, first_name) ); 如果我们设置了唯一索引,那么在插入重复数据时,SQL 语句将无法执行成功,并抛出错。