c语言初学问题求助
这个程序为什么输入不是3位数的时候没有检验错误再次输入的能力,求助,十分感谢。#include <stdio.h>
void main()
{
int x , y , i , j , k;
printf("Please input a three figures :\n");
scanf("%d",&x);
while(!(99<x<10000))
{
scanf("%d",&x);
}
i = x/100;
j = (x - 100*i)/10;
k = x - 100*i - 10*j;
y = 100*k + j*10 + i;
printf("%d\n",y);
} ???
因为你没有写判断输入数据长度的代码啊 你的目的是要把一个3或4位数逆序输出吧。连续判断(即连用多个<或>,比如你的!(99<x<10000))在c语言里面是不规范的,还是推荐你改成(x<=99||x>=10000);然后再在第二个scanf上面一行继续加上你的printf (99<x<10000)C语言有这个写法吗?
应该是 x>99 || x<10000 qiuyouzhi 发表于 2020-3-7 12:59
???
因为你没有写判断输入数据长度的代码啊
啊?while(!(99<x<10000))不就是判断么 超级甲鱼粉 发表于 2020-3-7 16:31
啊?while(!(99
抱歉哈,一开始以为是判断值
这么写:
while (!(99 < x and x < 10000)) qiuyouzhi 发表于 2020-3-7 16:33
抱歉哈,一开始以为是判断值
这么写:
奥懂了谢谢 墨羽岚 发表于 2020-3-7 16:30
你的目的是要把一个3或4位数逆序输出吧。连续判断(即连用多个,比如你的!(99
懂了懂了谢谢
页:
[1]