0
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.
4

4 回答 4

5
printf("Input: %f. \n", input);

改用这个:

printf("Input: %d. \n", input);

f转换说明符是打印double值,使用d转换说明符打印int值。

于 2013-02-12T17:12:54.563 回答
3

input是整数类型。请尝试printf("Input: %d. \n", input);

于 2013-02-12T17:12:59.720 回答
2

此行不正确:

printf("Input: %f. \n", input);

该变量inputint类型,因此您应该使用%d格式化序列:

printf("输入: %d.\n", 输入);

于 2013-02-12T17:14:20.767 回答
0

以下是正确的语法 printf("Input: %d.\n", input);

格式说明符 %d 代表整数。

于 2013-02-12T17:26:19.660 回答