这个为什么输出x是3,y是2,不应该是一开始判断x小于y直接输出x为-3,y为-2了么
第一个if后面有分号啊,导致x=-x执行了。删掉分号就行了
该回答引用GPTᴼᴾᴱᴺᴬᴵ
首先,你的代码存在语法错误,main函数括号中的左括号应该是小写字母的 l ,而不是右括号。此外,代码中的 if(x›y) 中的大于号也是错误的,应该使用大于号(>)。
·
在修正这些语法错误后,让我们来看看代码的逻辑。代码首先将变量x赋值为-3,将变量y赋值为2。然后,它判断x是否大于y,由于x小于y,所以条件不成立,跳过了if语句中的代码块,直接执行了下一行代码。
·
下一行代码将变量x取负,使其变为3。然后,代码检查x是否小于y,由于x大于y,所以if语句中的代码块也被跳过了,直接执行了下一行代码。
·
最后,代码使用printf函数输出变量x和y的值,此时变量x的值为3,变量y的值为-2。因为在代码中将变量x取负后没有再次修改过变量x的值,所以x不会输出为-3,而是输出为3。
·
因此,程序的输出结果是“x=3,y=-2”。