初学者常见错误1——赋值时的类型转换

猜测下面程序的输出结果,并上机尝试:

1.

#include<stdio.h>
#include<math.h>
int main()
{
	printf("%d",pow(5,2));

}

2.

#include<stdio.h>
#include<math.h>
int main()
{
    printf("%f",pow(5,2));

}

3.

#include<stdio.h>
#include<math.h>
int a[105];
int main()
{
    int x,y,sum=0,n=0;
    while (scanf("%d",&x)==1)
    {
        a[n++]=x;
        }
    for (int i=0;i<n;i++)
      for (int j=i+1;j<n;j++)
        sum=sum+pow(a[i],2)-pow(a[j],2);
    printf("%f",sum);

}
    

4.

#include<stdio.h>
#include<math.h>
int a[105];
int main()
{
    int x,y,sum=0,n=0;
    while (scanf("%d",&x)==1)
    {
        a[n++]=x;
        }
    for (int i=0;i<n;i++)
      for (int j=i+1;j<n;j++)
        sum=sum+pow(a[i],2)-pow(a[j],2);
    printf("%d",sum);

}
    

答案:1.0   2. 25.000000   3.无论你输入任何数据,输出结果都为0   4.按实际结果输出

原因:

(1)指数函数pow(x,y)的计算结果为双精度实数。

(2)赋值时的类型转换规则:float、double型赋值给int型:直接截断小数。

sum=sum+pow(a[i],2)-pow(a[j],2);

(3)使用printf输出时,如果格式控制符和输出列表不一致,导致输出结果为0.

时间: 2024-08-08 08:47:44

初学者常见错误1——赋值时的类型转换的相关文章

Java学习笔记2、环境变量配置与初学者常见错误

2.1 环境变量的配置 2.1.1 path环境变量配置的作用 程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下运行,因此程序只能写入bin目录程序开发过程中,不能将源代码写入JDK的安装目录,因此需要将源程序保存到任意位置的指定目录(英文目录),所以需要使javac指令在任意目录下可以运行. 2.1.2 path环境变量配置方式1 通过配置path环境变量,将javac指令所在目录也就是JDK安装目录下的bin目录配置到path变量下,即可使jav

Python初学者常见错误问题汇总

1.在客户端和服务端如何传递数组? 答:在客户端和服务端可以使用json进行数据传输.在客户端把数据转换成json字符串,然后使用POST方法发送给服务端. 服务端收集到数据之后,使用json.loads()方法,解析json数据. 返回数据也使用这样的机制.这就完成了数据从客户端到服务端的交互. 2.使用Mac.Windows和Linux系统有区别么?答:从学习Python基础知识的角度来说,是没有区别的. 搭建开发环境和开发工具会有区别. 3.为什么看着语句正常,报告SyntaxError

2014秋C++第5周项目1参考-见识初学者常见错误

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/article/details/39493833. 课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看. [项目1]下面是最经典和最简单的C++程序.在ideone.com中运行程序,并在能正确运行的程序基础上,"捣乱"制造些错误,对此进行观察.经验是从

Git在开发android系统时常用的技巧及常见错误解决方案

Git常用的技巧及常见错误解决方案 项目管理工作 repo 常用命令 ==目标== 了解repo工作原理及常用的repo命令 Git 日常使用的命令,常见问题及解决方案 ==关键词== Repo , Git ==工作指南== == <big>Repo</big> == Android代码其实是由若干个git 工作组织在一起的,repo 是一个便于整体管理这些项目的脚本. 拉代码时需要用到几个步骤,分别对几个步骤进行阐述一下,网上有很多repo 的使用方法,但是对其工作原理描述的并不

WAVSEP在Linux系统中部署时常见错误

使用Tomcat部署时常见错误 环境:Debian7 , tomcat7, WAVSEP v1.5 安装时提示: javax.servlet.ServletException: java.sql.SQLException: Database 'db/WavsepConfigDB'  not found 原因: tomat用户没有写入根目录的权限. 解决办法: 以root身份运行,在根目录建立db目录并将所有权授予tomcat用户. #mkdir /db #chown -R tomcat:tomc

PHP编译安装时常见错误解决办法,php编译常见错误

PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution 解决方法: yum -y install libxslt-devel 2.configure: error: Could not find net-snmp-config binary. Please check your net-snmp installa

初始化赋值时a = b = 常数 的易犯错误

1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int a,b; a=b=2; //成功 6 //int a = b = 2;失败 7 printf("%d %d",a,b); 8 system("pause"); 9 return 0; 10 } 新手注意直接初始化变量的 int a = b = 2这样的写法会导致编译失败. 如何能让这个语句正确呢,那就在前面声明好

linux编译安装时常见错误解决办法

linux编译安装时常见错误解决办法 This article is post on https://coderwall.com/p/ggmpfa 原文链接:http://www.bkjia.com/PHPjc/1008013.html configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution复制代码 代码如下:yum -y install libxslt-devel c

docker 运行时常见错误

docker 运行时常见错误 (1) Cannot connect to the Docker daemon at unix:///var/run/docker.sock. [[email protected] geo]# docker version Client: Docker Engine - Community Version: 19.03.8 API version: 1.40 Go version: go1.12.17 Git commit: afacb8b Built: Wed M