s*****s 发帖数: 157 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: stitans (stitans), 信区: JobHunting
标 题: 这小段code有什么问题吗?
发信站: BBS 未名空间站 (Tue Jul 27 11:43:27 2010, 美东)
被问到的, 在 input1 中找 input2, 如果找到, 就从找到的位置返回剩余的input1.
问是否code是对的, 如何改进, 如何优化。
我觉得code是对的啊,
char* test( char* input1, const char* input2 )
{
while( *input1 )
{
char *a = input1, *b = input2;
while( (*a++ == *b++) && *a && *b );
if( *b == 0 )
return input1;
input1++;
}
return 0;
} | X****r 发帖数: 3557 | 2 b++得太早了,input2的最后一个字符不匹配也会返回。
把b++放到循环里面大概差不多。
优化的话,字符串匹配有得是现成的算法,比如KMP。
input1.
【在 s*****s 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: stitans (stitans), 信区: JobHunting : 标 题: 这小段code有什么问题吗? : 发信站: BBS 未名空间站 (Tue Jul 27 11:43:27 2010, 美东) : 被问到的, 在 input1 中找 input2, 如果找到, 就从找到的位置返回剩余的input1. : 问是否code是对的, 如何改进, 如何优化。 : 我觉得code是对的啊, : char* test( char* input1, const char* input2 ) : { : while( *input1 )
| P********e 发帖数: 2610 | 3 null terminated, 最后一个永远都是 /0,所以每关系吧
【在 X****r 的大作中提到】 : b++得太早了,input2的最后一个字符不匹配也会返回。 : 把b++放到循环里面大概差不多。 : 优化的话,字符串匹配有得是现成的算法,比如KMP。 : : input1.
| t****t 发帖数: 6806 | 4 ...你这活宝怎么又来了, 说一句话出两个错倒也真难为你了.
【在 P********e 的大作中提到】 : null terminated, 最后一个永远都是 /0,所以每关系吧
| S*********g 发帖数: 5298 | 5 哈哈,你直接做个机器人吧,自动顶PP的帖子吧
【在 t****t 的大作中提到】 : ...你这活宝怎么又来了, 说一句话出两个错倒也真难为你了.
| P********e 发帖数: 2610 | 6 没有他我也不知道人能这么刻薄,这么mean,也不简单
【在 S*********g 的大作中提到】 : 哈哈,你直接做个机器人吧,自动顶PP的帖子吧
| t****t 发帖数: 6806 | 7 对,我也不知道人的脸皮可以厚到这种程度
【在 P********e 的大作中提到】 : 没有他我也不知道人能这么刻薄,这么mean,也不简单
| I*****y 发帖数: 602 | 8 如果找到input2的话,返回值不对吧。
input1.
【在 s*****s 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: stitans (stitans), 信区: JobHunting : 标 题: 这小段code有什么问题吗? : 发信站: BBS 未名空间站 (Tue Jul 27 11:43:27 2010, 美东) : 被问到的, 在 input1 中找 input2, 如果找到, 就从找到的位置返回剩余的input1. : 问是否code是对的, 如何改进, 如何优化。 : 我觉得code是对的啊, : char* test( char* input1, const char* input2 ) : { : while( *input1 )
|
|