int input;
printf("Type in an odd number less than or equal to 9: \n");
int correctInput = 0;
do {
scanf("%d", &input);
if((input % 2) == 0) {
printf("You have not entered an odd number. Please try again. \n");
}
else if(input > 9 || input < 1) {
printf("Your input is not from 1 to 9. Please try again. \n");
}
else {
correctInput = 1;
}
} while(correctInput == 0);
printf("Input: %f. \n", input);
我想做的就是从输入变量得到1-9的奇数。但是,当我运行此代码并输入类似7的内容时,我得到了
Type in an odd number less than or equal to 9:
3
Input: -1.#QNAN0.
答案 0 :(得分:5)
printf("Input: %f. \n", input);
改为使用:
printf("Input: %d. \n", input);
f
转换说明符用于打印double
值,使用d
转化说明符打印int
值。
答案 1 :(得分:3)
input
是整数类型。请尝试使用printf("Input: %d. \n", input);
答案 2 :(得分:2)
这一行不正确:
printf("Input: %f. \n", input);
变量input
属于int
类型,因此您应使用%d
格式序列:
printf(“输入:%d。\ n”,输入);
答案 3 :(得分:0)
以下是正确的语法, printf(“输入:%d。\ n”,输入);
格式说明符%d代表整数。