#include <stdlib.h>
#include <string.h>
void replace_string(char *c, const char *p, const char *r)
int main()
{
char c[100] = "you are the best,you should word hard,and you will be success!"
char p[] = "you"
char r[] = "LGDDD"
replace_string(c, p, r)
printf("替换后:")
puts(c)
return 0
}
void replace_string(char *c, const char *p, const char *r)
{
int i = 0, j = 0
while (c[j] = c[i])
{
int len = strlen(c)
int len1 = strlen(p)
int len2 = strlen(r)
int m = i
int n = 0
for ( c[m] == p[n] && p[n] m++, n++)
if (p[n] != 0)
{
i++
j++
}
else
// i = i + strlen(p)
if (len2 > len1)
{
int m1,n1
for (m1 = len m1 >= i + strlen(p) m1--)
c[m1 + len2-len1] = c[m1]
// puts(c)
for (n1 = i, m1 = 0 m1 < len2 m1++, n1++)
c[n1] = r[m1]
}
else if (len2 <= len1)
{
int m1, n1
for (m1 = i + len1 - len2, n1 = 0 n1 < len2 n1++, m1++)
c[m1] = r[n1]
i = i + len1 - len2
}
}
}
好好看看字符串指针。 p在for中赋值。 *s=*(p-s1 s2)字符串指针的加减,表示字符地址的加减。p-s1表示p指向字符与s1的距离(),再加上s2,表示s2中相应字符的地址,再付给s 手机打的,不太清楚。 多看看,字符串指针,就好懂多了编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成低级语言(机器语言、汇编语言)和高级语言(C语言、SQL等)两大类。
1、低级语言
包括机器语言和汇编语言
(一) 机器语言是最原始的计算机语言。由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令。
(二)汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
2、高级语言
现在最常用和通用的是高级语言。和机器语言和汇编语言相比,高级语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
常见高级语言有:BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN、SQL数据库语言、VC++、DELPHI等等......