鱼C论坛

 找回密码
 立即注册
查看: 1327|回复: 10

[已解决]在VS2012中编译C程序 报错变量未声明

[复制链接]
发表于 2020-2-8 15:41:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 咸鱼章一 于 2020-2-8 15:59 编辑

以下程序gcc编译能过,VS编译报错如下:

text05.c(16): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
text05.c(17): error C2065: “sq”: 未声明的标识符
text05.c(17): warning C4244: “=”: 从“double”转换到“int”,可能丢失数据
text05.c(18): error C2065: “sq”: 未声明的标识符
text05.c(18): warning C4244: “return”: 从“int”转换到“float”,可能丢失数据
text05.c(20): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)


问题:求n以内(不包括 n)同时能被 3 和 7 整除的所有自然数之和的平方根,并作为函数值返回。

#include <stdio.h>
#include <math.h>

float smsqr(int n)
{
        int m,sum=0;
        for(m=0;m<n;m++)
                {
                        if(m%21==0)
                        {
                                sum+=m;
                               }
                               //printf("%d\n",sum);
        }
        float sq;
        sq=sqrt((float)sum);
        return sq;

}

int main()
{
        int n;
        float sq;
        printf("请输入一个自然数:");
        scanf("%d",&n);
        printf("%.3f\n",smsqr(n));
      
                return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-8 15:53:09 From FishC Mobile | 显示全部楼层
主函数前面少半个括号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 15:54:24 | 显示全部楼层
如果你肯把你的代码写好,你就会发现问题了,而且再也不会出现这种问题了

友情提示:代码中一共有4个左大括号,3个右大括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 15:57:36 | 显示全部楼层
忘记写括号了,改成这样:
#include <stdio.h>
#include <math.h> 

float smsqr(int n)
{
        int m,sum=0;
        for(m=0;m<n;m++) 
                {
                        if(m%21==0)
                        {
                                sum+=m;
                               }
                               //printf("%d\n",sum);
        }
        float sq;
        sq=sqrt((float)sum);
        return sq;
}

int main()
{
        int n;
        float sq;
        printf("请输入一个自然数:");
        scanf("%d",&n);
        printf("%.3f\n",smsqr(n));
       
                return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 15:59:26 | 显示全部楼层
人造人 发表于 2020-2-8 15:54
如果你肯把你的代码写好,你就会发现问题了,而且再也不会出现这种问题了

友情提示:代码中一共有4个左 ...

大括号是粘贴的时候手滑删掉的,加上之后也会报同样的错……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 16:00:34 | 显示全部楼层
召唤风云 发表于 2020-2-8 15:53
主函数前面少半个括号。

大括号是粘贴的时候手滑删掉的,源文件里有,还是会报同样的错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 16:11:21 | 显示全部楼层
本帖最后由 人造人 于 2020-2-8 16:12 编辑
咸鱼章一 发表于 2020-2-8 15:59
大括号是粘贴的时候手滑删掉的,加上之后也会报同样的错……


也就是说你写完这个问题没有检查就发出来了?你怎么能对你的问题这么不负责任?
既然如此,可想而知你也没有认真检查你的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 16:20:51 | 显示全部楼层    本楼为最佳答案   
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 16:24:13 From FishC Mobile | 显示全部楼层
我有一个大胆的想法。你把所有代码复制到另一个新的文件里再运行。因为我根本找不出错误。(一般来说vs不能使用scanf函数,竟然没有报错)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 19:45:13 | 显示全部楼层

问了别人也说代码没问题,暂时还没找到报错原因。不过谢谢解答。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 19:50:37 | 显示全部楼层
召唤风云 发表于 2020-2-8 16:24
我有一个大胆的想法。你把所有代码复制到另一个新的文件里再运行。因为我根本找不出错误。(一般来说vs不能 ...

之前一直用的gcc,vs用scanf会出问题还是第一次知道,谢谢指教~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 03:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表