由于某些莫名其妙的原因,我没有很好地使用 C 中的语法。让我切入细节并解释我遇到的问题。
在 main 中获取用户输入的整数,将整数发送到一个函数,函数在该函数中使用“for 循环”来计算该数字。
问题:我无法在 main 中获得正确的返回值。循环工作正常,但循环的函数返回 0。我被困在这里。来回做了几次调整,研究了正确的语法,但我无法准确理解它应该是什么。
int forLoop(int input); //function//
int main(){
int input;
printf("Enter an integer \n");
scanf_s("%d", &input);
printf("Results %d ex: 1 2 3...8 ", forLoop(input));
return 0;
}//end here//
int forLoop(int input){ //function//
for (int i= 0 ; i < input; ) {
printf("%d \n", i = i + 1);
}
return 0;
}
最佳答案
该函数返回零,因为您在其中键入了 return 0;
。
相反,这样做:
int forLoop (int input){
int i;
for (i= 0; i < input; i++) {
printf("%d \n", i);
}
return i; // will be the same value as "input"
}
关于c - main 外部的函数未从 For 循环返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43038982/