[英]Can someone please explain why this C function is returning the value of 10?
關於 C function 的初學者問題請耐心等待...
#include <stdio.h>
#include <stdlib.h>
int some_function(void);
int result;
result = some_function();
printf("%d", result);
return 0;
}
int some_function(void)
{
int i;
for (i = 0; i < 10; i++)
{
// printf("%d", i);
}
return (i);
}
我注釋掉了運行 for 循環的結果,它是從 0 到 9 的所有整數。
我無法清楚地理解為什么本地 int i 的最終結果會再次增加以最終提供 10 out of int some_function(void) 的返回值。
非常感謝您的幫助。
for (i = 0; i < 10; i++)
說:
i
初始化為零。i < 10
是否為真。 如果是,則執行循環體。 如果不是,則退出循環。i
和 go 遞增到第 2 步。 因此,循環繼續執行直到i < 10
為false 。
當i
為 9 時, i < 10
為真,循環不退出。 當i
為 10 時, i < 10
為假,循環退出。
因此,當循環退出時, i
為 10。
for (i = 0; i < 10; i++) {
...
}
相當於
i = 0
while (i < 10) {
...
i++;
}
當i
為 9 時,執行循環體,然后i
遞增(現在它的值為 10),然后再次執行 while 循環的測試,循環退出, i
的值仍然為 10。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.