可能重复:
nul 终止一个 int 数组
我正在尝试打印出数组中的所有元素:
int numbers[100] = {10, 9, 0, 3, 4};
printArray(numbers);
使用此功能:
void printArray(int array[]) {
int i=0;
while(array[i]!='\0') {
printf("%d ", array[i]);
i++;
}
printf("\n");
}
问题是当然 C 不会区分数组中的另一个零元素和数组的末尾,之后它都是 0(也表示为 \0)。
我知道 0 和 \0 在语法上没有区别,所以我正在寻找一种方法或破解来实现这一点:
10 9 0 3 4
而不是这个
10 9
数组也可以如下所示:{0, 0, 0, 0} 所以当然输出仍然需要为 0 0 0 0。
有任何想法吗?