【发布时间】:2019-10-01 06:22:20
【问题描述】:
虽然我知道这个程序的布局很奇怪,但我认为我的程序在涉及scanf() 行时遇到了问题。由于某种原因,在输入metricConversion() 函数后。打印了scanf() 行,但程序在给出输入之前退出并终止......我不明白为什么会发生这种情况......
#include <stdio.h>
char inputtedChar;
int inputtedInt;
int metricConversion(){
scanf("Press K for conversion from Kelvin to Celsius %c", &inputtedChar);
if(inputtedChar == 'K'){
//do Something
} else { return 0; }
}
int main() {
printf("Press 0 to enter conversion function!");
scanf("%d", &inputtedInt);
if (inputtedInt == 0) {
metricConversion();
}
}
更重要的是,有人可以解释为什么scanf() 会这样工作吗?最好的选择是什么,所以我不会再遇到这种情况了?
【问题讨论】:
-
您确定打印了
scanf()行吗?