题目:编写UNIX程序sort的简化版本,该程序按字母顺序对由文本行组成的集合进行排序。 思路:我们引入指针数组处理这种问题。如果待排序的文本行首尾相连地存储在一个长字符数组中,那么每个文本行可通过指向它的第一个字符的指针来访问。这些指针本身可以存储在一个数组中。这样,将指向两个文本行的指针传...
分类:
编程语言 时间:
2014-07-07 19:47:24
阅读次数:
210
之前杭电上也做过a + b的高精度的题,不过这道题的区别是有多组数据。之前做的时候开了3个字符数组a,b,c,在计算的时候还要比较a,b长度,短的那个还要加'0',还设置了一个add来存放进位。现在看来这种算法确实很繁琐。而这次只用了两个字符数组,一个放加数,一个放和。相比之前程序更短小了,而且可读...
分类:
其他好文 时间:
2014-07-01 09:17:38
阅读次数:
249
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
给定一个罗马数字,把它转换成一个整数。
把罗马数字字符串转换成字符数组先,如下表,每个数字仅对应一个字符,而且字符不一样。故可从头开始取值进行对应。
The R...
分类:
其他好文 时间:
2014-06-30 09:52:40
阅读次数:
251
sizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。 而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。2.指针与静态数组的sizeof操作 指针均可看为变.....
分类:
其他好文 时间:
2014-06-27 17:10:14
阅读次数:
225
1、定义与C++对应的C#结构体 在c#中的结构体不能定义指针,不能定义字符数组,只能在里面定义字符数组的引用。 C++的消息结构体如下: //消息格式 4+16+4+4= 28个字节 struct cs_message{ u32_t cmd_type; char username[16]; u32...
分类:
其他好文 时间:
2014-06-25 18:56:03
阅读次数:
254
引言:如果想把一个字符串读到程序中,必须首先预留存储字符串的空间,然后使用输入函数来获取这个字符串。
读取字符串输入的第一件事是建立一个空间以存放读入的字符串。
char *name;
scanf("%s", name);
这段代码虽然可能通过编译,但因为name可以指向任何地方,所以它的输入值可能覆盖以前name所指位置的值。
解决办法是声明一个固定大小的字符数组,或者使用C库...
分类:
编程语言 时间:
2014-06-24 23:17:08
阅读次数:
242
我们知道字符串用字符数组或用指针实现,可是在赋值的时候产生了不少疑惑
用法一:
char a[ ]={"I LOVE YOU!"};
可是下面这样就是错的:
char a[20];
a={"I LOVE YOU!"};
用法二:
char a[]="I LOVEYOU";
用法三:
char *a="I LOVE YOU"
用法四:针对一中的错误用法,可用str...
分类:
其他好文 时间:
2014-06-24 19:10:31
阅读次数:
397
字符串是以ASCII字符NUL结尾的字符序列。ASCII字符NUL表示为\0.字符串通常存储在数组或者从堆上分配的内存中。不过,并非所有的字符数组都是字符串,字符数组可能没有NUL字符。字符数组也用来表示布尔值等小的整数单元,以节省内存空间。
C中有两种类型的字符串:
单字节字符串
由char数据类型组成的序列
宽字符串
由wchar_t数据类型组成的序列
wchar_t数据类型用来表示宽字符,要么是16位宽,要么是32位宽。这两种字符串...
分类:
编程语言 时间:
2014-06-22 22:58:46
阅读次数:
333
今天帮别人把一个C++的程序转成C程序,中间出了几个问题
1 首先是字符串的问题
char *str = "";
char *s = str;
注意这里用的char*只是定义了一个字符型的指针,其相互复制的时候,只是指针值的传递,如果指针值是函数中开辟的临时变量,那么就会出现问题。所以不能这么做。正确的做法是用字符数组
char strs[100];
数组要保证足够的空间,以免在复制的时...
分类:
编程语言 时间:
2014-06-22 16:33:27
阅读次数:
230
这是一道笔试题,用c或c++编程实现+,-,*,/四种运算符的四则运算,运算式存放在一个字符数组中char str[]。如给定字符数组 char str[] = "3+2*5", 那么输出结果为13./*************************************************...
分类:
其他好文 时间:
2014-06-21 07:00:17
阅读次数:
218