C 请解释输出 #包括 int main() { INTA=9; 如果(a=5) printf(“a是5\t”); 其他的 printf(“a不是5\t”); printf(“a的值为%d\n”,a); 返回0; }
以下程序提供输出。。。。C 请解释输出 #包括 int main() { INTA=9; 如果(a=5) printf(“a是5\t”); 其他的 printf(“a不是5\t”); printf(“a的值为%d\n”,a); 返回0; },c,C,以下程序提供输出。。。。 a是5,a是5的值 请解释一下 #include<stdio.h> int main() { int a=9; if (a=5) printf("a is five \t"); else printf("a is not five \t"); printf(" Value of a is %d \n",a); return 0; } 它将5赋值给a,也使ifcondition
a是5,a是5的值
请解释一下
#include<stdio.h>
int main()
{
int a=9;
if (a=5)
printf("a is five \t");
else
printf("a is not five \t");
printf(" Value of a is %d \n",a);
return 0;
}
它将5赋值给a,也使if
condition为真,因此printf(“a是5\t”)代码>执行此语句
if (a=5)
这不是一个比较,而是一个任务。换句话说,您不是在询问a是否为5,而是在将a设置为5。a=5
键入为a==5
,以通过@BLUEPIXY扩展注释。如果您的语句正在检查将变量a赋值给值5是否为真。数学语句a=5
的计算结果为真(“a”被成功设置为整数“5”)。@Shushrut:你到底想解释什么?该程序完全按照它应该的方式工作。考虑到这一点,您的问题应该是关于什么的?@AnT我希望输出a不是a的五个值是9
,因为您在if
语句中为a
指定了5,所以不清楚为什么在打印a
值时,您希望a仍然包含9
。请记住,=
和=
是不同的运算符。请解释how@Shushrut表达式a=5
的计算结果为5,任何非0值均为真。您经常会看到这样的代码被用作空检查和在一行上分配指针的便捷方式。如果((a=5)==5),您可以运行此条件,以便更好地理解George的解释
if(a=5)