use*_*781 0 c pointers for-loop
对于家庭作业,我不允许使用任何变量,如"int i = 0;" - 只有指针.
问题是我需要做n次 - 比如说10次 - 但我无法找到一种方法来做这个事情n次没有for循环.它正在操作指向整数的指针,它不会被零终止,但是大小总是相同的(比方说10).
有没有办法在不使用整数来控制循环的情况下执行以下操作?
int i;
for (i = 0; i < 10; i++) {
*(p + i) = 0;
}
Run Code Online (Sandbox Code Playgroud)
也许是这样的:
int *q = p + 10;
while (p != q) {
*p++ = 0;
}
Run Code Online (Sandbox Code Playgroud)
更新:
这样做可以避免使用整数,只需识别一个开头(p)和一个结尾(p + 10),然后迭代它们.它不适用于这种特殊情况,但很多时候你不知道(或者不需要知道)数组的大小.
归档时间: |
|
查看次数: |
1143 次 |
最近记录: |