<分区>
Possible Duplicate:
nul terminating a int array
我正在尝试打印出数组中的所有元素:
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 在语法上没有区别,所以我正在寻找一种方法或 hack 来实现这一点:
10 9 0 3 4
而不是这个
10 9
数组也可以是这样的:{0, 0, 0, 0} 所以当然输出仍然需要是 0 0 0 0。
有什么想法吗?