我希望我的循环重复多次,因为很多是“水果”数组中的字符串。
首先通过使用“while”循环进行了尝试,但我无法使其正常工作(现在它已被注释),因为(如调试器所示)它在第 4 次迭代时出现了段错误。此方法应适用于字符或整数数组,但不适用于字符串数组。为什么会这样?
然后我尝试使用“for”循环并希望它在达到数组中存储在“count”变量中的字符串元素总数时停止。但是,我找不到计算数组中字符串数的好方法。这甚至可能吗?“sizeof”运算符在这里似乎不是一个好的解决方案。
提前感谢您的回复。
#include <stdio.h>
int main()
{
char *fruits[]={"Apple", "Grapefruit", "Banana"};
int i=0;
int count=sizeof(*fruits);
char **bitter=&fruits[1];
printf("Bitter fruit is: %s", *bitter);
puts(" ");
printf("All fruits are: ");
for (;i<count;i++);
{
printf("%s ",*(fruits+i));
}
/*
while ( fruits[i] != '\0')
{
printf("%s ",*(fruits+i));
}
stuff above failed. why?
*/
return 0;
}