If语句不';不要停止执行。C程序设计
我对这个很陌生,我正在尝试创建一个基于文本的扫雷器。 我想让球员决定他想要的网格有多大。 我的问题是,if语句应该确保用户输入1到10之间的数字不起作用。请看一看If语句不';不要停止执行。C程序设计,c,if-statement,C,If Statement,我对这个很陌生,我正在尝试创建一个基于文本的扫雷器。 我想让球员决定他想要的网格有多大。 我的问题是,if语句应该确保用户输入1到10之间的数字不起作用。请看一看 scanf ("%i/%i",&x,&y); if (0 < x < 11 && 0 < y < 11) { printf ("you have selected %i by %i\n",x,y); for (i = 0; i < x; i++) {
scanf ("%i/%i",&x,&y);
if (0 < x < 11 && 0 < y < 11)
{
printf ("you have selected %i by %i\n",x,y);
for (i = 0; i < x; i++)
{
for (j = 0; j < y; j++)
{
grid[x][y] = 'O';
printf ("%c ", grid[x][y]);
}
printf ("\n");
}
}
else
printf ("Wrong gridsize");
scanf(“%i/%i”、&x和&y);
如果(0
C不支持双重比较,例如:
0当然,检查y边界也是如此。现在您应该可以自己解决问题了。if语句必须如下所示
if ((x > 0 && x < 11) && (y > 0 && y < 11))
if((x>0&&x<11)和(y>0&&y<11))
如果语句写错了。
这是正确的表格
if ((x > 0 && x < 11) && (y > 0 && y < 11))
C不支持双重比较
0 < x < 11
意味着
(0
scanf ("%i%i",&x,&y);
你的if语句所做的就是你期望做的
if (0 < x < 11 && 0 < y < 11)
if(0
首先输入值x和y(x=4和y=6)
它检查x是否大于0(这是真的),因此用1代替0同样,对于y,无论输入哪个值都将始终为真 谁不支持它。。。如果(9<6==0)printf(“yes”);else printf(“否”);它在语法上是正确的,但它不符合你的信仰。在您的示例中,左比较子返回一个布尔值,第二个比较子将该布尔值与零进行比较。除了?:在C中没有三元运算符。所有其他的都是二元运算符。@Indra Yadav:这是一个关于“支持”这个词的歧义的玩笑,还是你不是一个C程序员?如果不支持,那么上面的代码是如何工作的。。如果你能用C.解释一下双重比较,我会很高兴的。。并解释0
if (0 < x < 11 && 0 < y < 11)