您的当前位置:首页C语言字符串拼接和追加

C语言字符串拼接和追加

2020-12-23 来源:乌哈旅游


#include

#include

#include

main()

{

char string1[10] = \"\

int r,i=0,j=0;

while ( string1[0] != 'Z')

{

gets(string1);

r = strcmp(string1,string2); //r记录的是判断string1和string2是否相等 如果相等r=0否则r=1

if (!r)//果然两个字符串相等则执行下面代码

{

if(strcmp(string3,string1)) //下面代码的功能是判断是否需要输出

{

i=0; //为了拼接字符串,i和j用来标示位置所在

j=0;

//之后写一段代码类似于下面这样的功能

//string4 = string4+\"\\n\"+string1;

while(string4[i] !='\\0')

i++;

while(string1[j] !='\\0')

string4[i++]=string1[j++]; //下面两句是拼接最后输出的字符串。如果符合则追加到string4的末尾

string4[i]='\\n'; //为了不让他们在一行显示,这里我们追加一

次就换一行显示

strcpy(string3,string1);

//为了判断是否要将它显示出来,这里设定个string3来做个标示,如果相同输入的,就只显示一个就可以了

}

}

strcpy(string2,string1);//想一般大家都会想到用指针取值的方式来赋值,那样是不可以的。这能这样写 不可以这样*string2=*string1

}

printf(\"\");

puts(string4);

system(\"pause\");

return 0;

}

/*

《C和指针》64页,即:第四章编程练习第五题。题目如下:

编写一个程序,从标准输入一行一行地读取文本,并完成如下任务:如果文件中有两行或多行相邻的文本内容相同, 那么就打印出其中一行,其余的行不打印。你可以假设文件中的文本行在长度上不会超过128个字符(127个字符外加一个用于终结文本行的换行符)。

考虑下面的输入文件。

This is the first line.

Another line.

And another.

And another.

And another.

And another.

Still more.

Almost done now --

Almost done now --

Another line.

Still more.

Finished!

假定所有的行在尾部没有任何空白(它们在视觉上不可见,但它们却可能使邻近两行在内容上不同),根据这个输入文件,程序应该产生下列输入出:

And another.

Almost done now--

所有内容相同的相邻文本行有一行被打印。

问题补充 2010-09-10 13:01

#include

#include

#include

main()

{

char string1[10] = \"\

int r;

while ( string1[0] != 'Z'){

gets( string1);

r = strcmp( string1, string2);

if ( !r){

puts( string1);

}

*string2 = *string1;//不知道这里可不可以这样,是想将string1中的值转到string2中

}

system(\"pause\");

return 0;

}

*/

因篇幅问题不能全部显示,请点此查看更多更全内容