当我们尝试增加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/

10-12 16:08