C语言简单的程序问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:56:34
才学C老师出了一题输入三角形边长求周长的问题。当时写出来了。后来回家开始装VC然后复习上课的内容。重新写了一遍代码如下:
#include<stdio.h>

int main()

{
int x,y,z;s;

scanf("%d,%d,%d",&x,&y,&z);

if
(x+y<=z,x+z<=y,y+z<=x)

printf("你所输入的三边不能构成三角形!");

else;

{ s=x+y+z;

printf("%d\n",s);

return 0;

}
}
这是在家写的,发现一只不对于是就把上午想的思路又写了一遍代码如下
#include<stdio.h>

int main()

{
int x,y,z,s;

scanf("%d,%d,%d",&x,&y,&z);

if(x+y>z&&x+z>y&&y+z>x)

s=x+y+z;

else;

return;

printf("%d\n",s);

}
结果2中都不对。要么报错,要么一直喊我等待。我想知道是我代码问题还是程序问题?

#include<stdio.h>

int main()

{
int x,y,z,s;//这里s前面不能用分号,不然s就成了未定义了。。。。

scanf("%d%d%d",&x,&y,&z);//最好把&去掉,不然你每次输入都要在数据中间加逗号,比如3,4,5才能正确

if (x+y<=z,x+z<=y,y+z<=x)

printf("你所输入的三边不能构成三角形!");

else //else后面有逗号的吗,你们老师不是这样交的吧

{ s=x+y+z;

printf("%d\n",s);

}
return 0;//放在大括号外面,切后面不能有语句,return后面的任何语句都不回执行

}

(x+y<=z,x+z<=y,y+z<=x)
就你学过的语法, 怎么解释这句什么意思。。

else;
看看你书上各种例子程序, 有没有else后面接分号的?

scanf中不要逗号..

后面的
return与printf顺序写反了,结果能出来吗?