当我们尝试在C中增加字符串时会发生什么?
#include <stdio.h>
void foobar(char *str1, char *str2)
{
while (*((str1++)+6) == *((str2++)+8));
}
int main(){
char str1[] = "Hello World";
char str2[] = "Foo Bar Bar";
foobar(str1,str2);
printf``("%s %sn",str1, str2);
return 0;
}
输出结果为:
Hello World Foo Bar Barn
答案 0 :(得分:0)
当您递增指针时,它指向下一个对象。由于这些是指向字符的指针,因此递增它们会使它们指向下一个字符。您的foobar
函数会丢弃递增的值。它没有归还它们。