两个基本的问题.

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:14:56
1.scanf函数是不是会自动换行?
2.整数除以小数,要不要加(float)?
比如int a; float b, c;
c=(float)a/b;
我试过了,加了和没加(float),结果都是一样的.
总结一下吧,什么时候需要加转换运算符的?

1、scanf函数不会自动换行呀,它的执行是当你的输入以回车结束后,它就执行操作!
2、在你举例中加与不加是一样的,如果的左边是一个整型就需要加!(或者说比右边低等级的类型,就需要显示的加上转换运算符!)
也就是说:将低级类型数据赋值给高级类型变量会自动类型转换,加不加一样,而将高级类型数据赋值给低级类型变量,就会有精度丢失的可能,要显示的加上类型转换运算符!
比如int a,c; float b;
c=(float)(a/b);
要试上面的例子后面的a/b也要括起来,要不然只是将a转换后再除以b,编译也会报精度丢失的错误!

1.scanf会自动换行,scanf是读入,不用加‘\n’吧?
printf需加
2.不需,会自动转换类型,但如果右边都是整形,结果是float,就要加
就是结论是根据右边的类型决定的,不同类型,编译器会自动转换成不会有数据丢失的,如果是一样的类型,那么返回的也是这个类型,这是就需要加了~

1.会自动换行
2.根具你要求的精度加强行转换运算符,a/(*,+)b这类的按精度大的来返回。。

1.不会自动换行,要加换行符\n
2.可以不加

1.换行指的是输入要加回车么?那就是
2系统会自动转换数据类型,所以不用加