当我们尝试增加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谷仓
最佳答案
当您增加一个指针时,它指向下一个对象。由于这些是指向字符的指针,因此增加它们会使它们指向下一个字符。您的foobar
函数只是丢弃增加的值。它不会返回它们。
关于c - 在C中递增字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33870995/