C语言 vs2010 下面是程序 但是调试的结果不对 还有为啥不加system 输入完数据后窗口就退出了 好迷啊

#include<stdio.h>#include<stdlib.h>#include<math.h>void main (){ float a,b,c,s,area,d,e,f; scanf("%f,%f,%f",&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%.2f, b=%.2f, c=%.2f, s=%.2f\n",a,b,c,s); printf("area=%.2f",area); system("pause");}


scanf("%f,%f,%f",&a,&b,&c);
改成
scanf("%f%f%f",&a,&b,&c);
去掉了字符串中的逗号。

因为scanf是格式化输入,默认用空格、制表、回车分隔输入变量,但是你加了逗号之后就得用逗号分隔了(需要符合第一个字符串参数中定义的格式),所以如果不想改程序的话你在输入的时候就应该输入"3,4,5"。不过最好还是按照上述方法修改代码比较规范。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-10
那你就调试运行不就可以了追问

就是调试运行的结果啊 你看嘛根本不对

相似回答