i++当我们有一个字符串并且正在寻找某个元素时,我们可以使用 i 计数器 ( ) 或简单地增加指针地址 ( )来完成str2++。结果将是相同的,尽管机制略有不同。是否可以说总是可以使用 ( str++) 因为不需要引入额外的变量 i,即 少写代码?以及如何选择条件 - while(str1[i] !='\0')or while(str1[i])or while (*str1)?这些表达是否等价?
int main() {
int i = 0;
char* str1 = "abcd";
char* str2 = "efgh";
while (str1[i] !='\0' )
i++;
while (*str2)
str2++;
return 0;
}
Можно ли сказать что всегда можно использовать (str++) так как не нужно вводить дополнительную переменную i, т.е. меньше кода нужно писать?你不能。您丢失了指向字符串开头的指针。如果你不再需要它,这个方法就可以了。
Равноценны ли данные выражения?查看生成的汇编代码。它可能相同也可能不相同,具体取决于编译器。