C语言基础问题

#include "stdio.h"
void main()
{
int i=5;
float sum;
sum=i*1.3;
printf("%f",sum);
}
总是有一个会造成数据丢失的警告!我的sum需要是float型的.

可能你是在VC++中编译的,TurboC中没有警告,
在VC++中,1.3默认是double型的
i*1.3就是double型
double赋给float,数据要丢失
可以写成sum=i*1.3f;
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-01
晕,
i*1.3已经超出了float
能不出错吗
把sum定义成double
第2个回答  2008-12-01
这里说的数据丢失,是指在运算时,会发生数据类型转换,因此有可能不是你想要的结果.仅此而已.
第3个回答  2008-12-01
将 sum 定义为 double 型的数据就可以了
float 型的数据 只能 显出 6~7 位有效数字
第4个回答  2008-12-01
我用的是VC++,程序好好的

关关关于C语言基础问题
在C语言中,表示小数有两种主要方式:定点表示法和浮点表示法。定点表示法通过约定小数点位置,用整数表示小数,例如将小数点定位在第三位,那么123.456可以用整数123456表示,计算时只需将结果除以1000即可。这种方法的局限性在于,只能表示有限范围内的小数,例如0.00123456,使用定点表示法只能表示为0.001...

c语言题目 求解 很基础的
5. B正确,参照4题的A,这里b是变量而非表达式(4题A中是y*5),所以正确。D选项中a+7是表达式不能接收数据,错误。所以也没有矛盾。28. C正确——因为b初值是10,>=8成立,所以break;跳出了循环体,由于{}把第一个if和第二个if语句括起来了,所以两个if语句都是for的“体”,break;后...

【C语言】一个比较基础的问题啦 要求输入一串字符,只能是数字或字母或...
单纯判断字母还是数字,C语言有内部函数可以直接用,比如头文件ctype.h下的函数。但你既然是基础问题,就自己写函数实现判断,对应字符ascii码判断。include<stdio.h> int main(){ int regcmp(char *str);char str[100];while(1){ scanf("%s",str);regcmp(str);} return 0;} int regcmp(ch...

基础C语言编程时易犯错误有哪些
一、基础知识和数据类型、表达式 1、{},[],(),‘’,“”不配对。解决这个问题最好的方法就是每当写这些符号的时候就先写成一对,然后再在中间加内容。 2、忘记在语句的末尾加分号,或在预处理命令后多加分号。记住:每一个语句的后边都要加分号,而预处理命令并不是语句,所以不加分号...

c语言循环基础问题,求解析for(j=0;j<3;j++)这个小循环?
最后j++变为3,不满足j<3,循环结束,此时j=3,k=3 接着再执行k = k - j; (注意该语句不属于上面的循环),k变为0,j仍为3 然后上述过程处于外循环for (i = 0; i < 2; i++)中 一共执行两次,每次结果都是k=0,j=3 注意第二次执行里循环时,j重新赋初值0,仍从0开始,而不...

C语言基础填空题,在线等,要详细步骤和解题思路?
1. 第一题 int i=1,j=0;while(i++<3){ j++; } 答案:j=2,i=4 解释:i++ 加号在i 后面,属于 后加加,就是先求表达式的结果,然后再加1.第1次循环:初始值i=1 j=0,表达式 i<3 计算结果为TRUE, 执行j++和i+1 ,执行结果: i=2,j=1 第2次循环:i=2, 表达式i<3 ...

下半年计算机二级c语言基础试题
下半年计算机二级c语言基础试题1 一、选择: 1.给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组acY的长...

c语言一个最最基础的问题——include的用法。
1、C语言预处理器指令#include用于在编译期间把制定文件的内容包含进当前文件中,又称文件包含指令。在源文件中,任何形如 include "文件名"或 include <文件名> 的行都被替换为由文件名指定的文件的内容。如果文件名用引号引起来,则在源文件所在位置查找该文件;如果在该位置没有找到文件,或者如果...

C语言基础题,求解!要求详细解题步骤,
答案是c 用单引号的是字符,用双引号的是字符串 A中单引号内有两个字符,但字符型变量只能存放一个字符。B,D是字符串 C正确是按照ASCII存储的

c语言基础问题
一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。三、第3题...

相似回答
大家正在搜