求大佬看看这个问题
c4droid吧
全部回复
仅看楼主
level 4
BK_2014 楼主
2017年02月19日 12点02分 1
level 6
错误太多,不知道怎么说,我就问一句你这个程序想表达个啥?
scanf("%d",&i);
2017年02月19日 13点02分 2
我是野路子。。第一次用这个软件。。一不小心漏了地址符。。。这段代码还有什么错误吗?
2017年02月19日 13点02分
如果可以的话顺便帮我看下另外一段代码(见楼下)
2017年02月19日 13点02分
level 4
BK_2014 楼主
2017年02月19日 13点02分 4
又漏地址符[喷]
2017年02月19日 13点02分
@BK_2014 首先给你几点建议,数据最好用double型,输出的话就是%lf。 第二点,语句可以简化点,在if语句中,可以直接输出答案。比如: else if(z=0) printf("x=%lf",(-b+sqrt(z))/(2*a) 这样程序就简化了。
2017年02月19日 13点02分
if(z==0) printf("x=%lf",-b/(2*a)。重点是==而非=
2017年02月21日 09点02分
level 6
你输入输出的全是a,但是你的for语句是关于i的运算,所以这段程序没有意义[呵呵]
2017年02月19日 13点02分 5
[喷]最上面那个我就是为了测试一下这个软件的啊。。。。dalao帮我看看下面那个呗[滑稽]
2017年02月19日 13点02分
level 6
给你几点建议,数据用double型好点。其次if语句可以简化,比如
else if (z=0) printf("x=%lf",(-b+sqrt(z))/(2*a));另外,输入放在开头就行。其他不懂的可以问我[呵呵]
2017年02月19日 14点02分 6
我想知道这个error怎么产生的[喷]
2017年02月19日 14点02分
@BK_2014 你把后面的main()删除,把float语句和scanf语句放在开头就行了
2017年02月19日 14点02分
@理智利心 你在胡扯啥
2017年02月21日 03点02分
@暗~夜 没事其实就是我眼瞎漏了个括弧
2017年02月21日 13点02分
level 10
a没有地址号,根据stdarg.h的原理是直接把a这个int解析成int*指针(二进制不变,大概可以参考C++的reinterpret_cast),a又没有初始化,这样就是个野指针。往野指针写东西是访问不属于程序的内存,引起段错误(SIGSEGV)。
2017年02月20日 03点02分 8
段错误就是他写的出现一个signal,是segmentation error的信号,sigsegv是这个信号的名称
2017年02月20日 03点02分
level 13
主函数必须定义为整型:
int main ()
{
.......
return 0;
}
2017年02月21日 03点02分 9
如果不这么定义的话会怎么样?
2017年02月21日 13点02分
@BK_2014 这是C99标准的要求
2017年02月21日 16点02分
@BK_2014 现在大部分的编译器都在朝这个方向发展
2017年02月21日 16点02分
@BK_2014 不这么定义,它会报错
2017年02月21日 16点02分
level 3
神规范
2017年02月21日 04点02分 10
说了我是野路子[喷]
2017年02月21日 13点02分
1