| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:小白发新贴,望大神指导一二
只看楼主 加入收藏
ssxm545200
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-10-15
收藏
 问题点数:0 回复次数:4 
小白发新贴,望大神指导一二
以下代码
#include <math.h>    /*引用的是编绎器的类库路径里面的math.h的文件,主要是数据函数的,如abs(),sqrt()*/
#include<stdio.h>    /*引用的是编绎器的类库路径里面的stdio.h的文件,包含输入输出的操作如printf(),scanf(),getchar()等*/
main()
{
    long int i,x,y,z;      /*长整型,longint (长整型)取值范围-2147483648..2147483647*/
    for (i=1;i<100000;i++);/*,首先执行i=1;这是赋初值,在执行i<=10;判断是否符合条件,如果符合就执行{}里循环体的语句,执行完后,再执行i++运算,i++等同于i=i+1;再执行i<=1000000进行条件判断,如果符合就执行{}里循环体的语句,如果不符合就跳出循环*/
    {
        x=sqrt(i+100);   /*sqrt的全称是Square Root Calculations,一个非负实数的平方根也就是开方*/
        y=sqrt(i+168);   /*sqrt的全称是Square Root Calculations,一个非负实数的平方根*/
        if(x*x==i+100&&y*y==i+168)   /*这里应有问题,和题意的目的对不上*/
            printf("\n");           /*原码没有这行,人为加上,没有这行的话,看不到输出结果,所以加上去,空一行的意思*/
        printf("z=%ld\n",i);    /*显示结果*/
    }
}
这是提示出错的地方,看不懂了,我用是的VS2005
1>------ 已启动生成: 项目: 我要学会源代码, 配置: Release Win32 ------
1>正在编译...
1>我要学会源代码.c
1>.\我要学会源代码.c(8) : warning C4244: “=”: 从“double”转换到“long”,可能丢失数据
1>.\我要学会源代码.c(9) : warning C4244: “=”: 从“double”转换到“long”,可能丢失数据
1>.\我要学会源代码.c(5) : warning C4101: “z”: 未引用的局部变量
1>正在链接...
1>正在生成代码
1>已完成代码的生成
1>正在嵌入清单...
1>生成日志保存在“file://e:\pppp\我要学会源代码\我要学会源代码\Release\BuildLog.htm”
1>我要学会源代码 - 0 个错误,3 个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过 ==========



[此贴子已经被作者于2017-10-20 22:29编辑过]

搜索更多相关主题的帖子: sqrt 执行 生成 学会 源代码 
2017-10-20 22:27
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10527
专家分:42899
注 册:2014-5-20
收藏
得分:0 
提示一些数据类型自动转换和某变量未使用,好象没异常。
2017-10-21 06:35
ssxm545200
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-10-15
收藏
得分:0 
明白了,谢谢版主
2017-10-21 17:56
愤怒的鸟儿
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2016-11-4
收藏
得分:0 
#include <math.h>    /*引用的是编绎器的类库路径里面的math.h的文件,主要是数据函数的,如abs(),sqrt()*/
#include<stdio.h>    /*引用的是编绎器的类库路径里面的stdio.h的文件,包含输入输出的操作如printf(),scanf(),getchar()等*/
main()
{
    long int i,x,y,z;      /*长整型,longint (长整型)取值范围-2147483648..2147483647*/
    for (i=1;i<100000;i++)/*,首先执行i=1;这是赋初值,在执行i<=10;判断是否符合条件,如果符合就执行{}里循环体的语句,执行完后,再执行i++运算,i++等同于i=i+1;再执行i<=1000000进行条件判断,如果符合就执行{}里循环体的语句,如果不符合就跳出循环*/
    {
        x=sqrt(i+100);   /*sqrt的全称是Square Root Calculations,一个非负实数的平方根也就是开方*/
        y=sqrt(i+168);   /*sqrt的全称是Square Root Calculations,一个非负实数的平方根*/
        if(x*x==i+100&&y*y==i+168)   /*这里应有问题,和题意的目的对不上*/
          //  printf("\n");           /*原码没有这行,人为加上,没有这行的话,看不到输出结果,所以加上去,空一行的意思*/
        printf("z=%ld\n",i);    /*显示结果*/
    }
}
应该是改成这样,for那一行的 ‘ ;’去掉,屏蔽你说的多的一行
2017-10-21 20:37
code_man_x
Rank: 1
等 级:新手上路
威 望:1
帖 子:6
专家分:5
注 册:2017-10-2
收藏
得分:0 
warning是警告,不会影响程序正常运行,但是也是会有风险
error是错误,如果出现error错误代表程序不能运行.
2017-10-21 20:37
快速回复:小白发新贴,望大神指导一二
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018571 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved