求助一个C语言问题 为什么在VC中老是提示我 warning C4101: 'c' : unreferenced local variable

作者&投稿:卷匡 (若有异议请与网页底部的电邮联系)
c语言设计中warning C4101和warning C4101错误都是什么意思 怎么解决???~

意思是说变量fp并没有被使用,所以编译时,有的编译器会给出警告!!
你把代码贴出来,具体看看?

warning C4101: 'c' : unreferenced local variable

这个错误并不会导致无法编译。只是一个警告: 你定义的C变量冗余,没有用到。

警告的意思为:警告C4101:'e':未引用的局部变量

原因是局部变量的错误使用。你的 f,c,k都是在main()函数里面定义的,然而,你在使用这些变量时是在temp()函数里面,在某个函数里面定义的变量只能在此函数中使用,所以你会产生错误。解决办法为,将这些变量定义为全局变量。

问题成功解决。

拓展资料

在计算机科学中,局部变量是拥有局部作用域的变量。这样的变量只能由声明它的函数或块中访问。在仅有两层可见性的程序设计语言中,局部变量对应全局变量;另一方面,许多类ALGOL语言允许任意多层的嵌套函数,各自拥有私有变量、函数、常量和类型。

大多数程序设计语言中,局部变量是直接存储在调用堆栈上的自动变量。即递归函数调用自己时,局部变量的每一份实例都在不同的地址空间中。于是在当前作用域对变量的声明、写入、读取都不会在其被声明的函数外产生副作用。





我也是新手。写的不好请多指教。
unreferenced local variable 是未使用定义的变量,就是你定义了但是没有使用。
你的变量都定义在主函数里面了。Temp里面用到应该定义在Temp里面。函数没用到的就不用定义了。
还有,main里面你要求输入了f的值,temp里面又输入一次?随便在一个函数里面输入就行了。2次没意义。
还有,如果你程序是用while就是无限循环了。要break退出吧?而且存在两种情况(大于-169.4)用if和else比较好吧。
我再你的基础上修改了一下。你看看对不对?
#include<stdio.h>
#define AZ 1.8
#define BZ 273.16
#define CZ 32.0
void Temp();
void main()
{
printf("Please input the temperature:\n");
Temp();//调用函数

}
void Temp()
{
float f;
double c,k;
scanf("%f",&f);
if(f>-169.4)
{
c=AZ*f+CZ;
k=c+BZ;
printf("The three Temperature is:%f\n",f);
printf("%.2f is Fahrenheit.\n%.2f is Celsius.\n%.2f is Kelvin.\n",f ,c ,k );
}
else printf("Done\n");
}

main函数中定义的变量c k f,属于局部变量,作用范围在main函数内部。你的main函数内部只定义了c k f变量,而没有使用这三个变量。所以系统报警。unreferenced local variable就是指你定义了变量却没有使用它们。

定义错了,你的三个变量都 是定义在主函数里,使用却在Temp函数里。
或者你可以把这三个变量的定义移到main函数的前面,就没问题了

我也是新手,用的指针亲测可用。
#include<stdio.h>
#define AZ 1.8
#define BZ 273.16
#define CZ 32.0
void Temp(float *);
void main()
{
float f;

printf("Please input the temperature:\n");
scanf("%f",&f);

Temp(&f);//调用函数

}
void Temp(float *f)
{

float g=*f;
float c,k;
if(g>-169.4)
{
c=AZ*g+CZ;
k=c+BZ;

printf("The three Temperature is:\n");
printf("%.2fisFahrenheit\n%.2fis Celsius\n%.2f is Kelvin\n",g,c,k);
}
else
printf("Done\n");
}


大东区13665954947: 用C语言在VC6.0中编程为什么老是出现这种情况? -
靳悦复方: 最好把代码贴出来,出现这种情况,一般的情况是你的变量初始化时没有赋值,变量里的值是随机的.

大东区13665954947: 为什么我在VC中输入一个正确的C程序,为什么提示Compiling... -
靳悦复方: 当VC++出现Compiling... Error spawning cl.exe 错误的解决办法有如下几种,请楼主尝试: 方法1: 启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确...

大东区13665954947: c语言问题,在vc内运行没有错误,但是提交到系统就错误了,估计是数组越界,但是找了很久都没有越界 -
靳悦复方: 不是数组越界,是堆栈溢出(Stack Overflow).是运行环境对堆栈大小的设置不同造成的.(堆栈简单来说就是某个函数的局部变量所用的内存空间) 你在main中声明了一个很大的数组int c[300][300],因为它是局部变量所以被创建在main函...

大东区13665954947: 一个c++问题 我这段代码为什么在vc6.0里总有一个错误 -
靳悦复方: #include #include #include using namespace std; int main() { ifstream in("aaa.txt"); vector s; for(int a; in>>a; ) s.push_back(a); int pair=0; for(int i=0; i for(int j=i+1; j if(s[i]==s[j]) pair++; cout return 0; }

大东区13665954947: c编程问题 -
靳悦复方: C语言要求变量的声明必须在可执行语句之前.第二种中printf("%d\n",a);语句之后的int b=7;语句就不允许了.

大东区13665954947: 关于C语言问题,VC不能编译和组建文件怎么办?语句是对的,组建不了,无法运行.是VC出错了还是哪的问题? -
靳悦复方: 方法一:因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)” —>“Directories(目录)”重新设置“Excutable Fils、Include Files、 Library Files、Source Files”的路径.很多情况可能就一个盘符...

大东区13665954947: 为什么我编的C语言程序绝对是正确的,而VC软件总是提醒一个错误?急啊,以为软件出问题了! -
靳悦复方: 就是tm的vc有问题 经常说连接错误什么的 如果不是为了考试,换一个编译器吧,DEVC++ , codeblocks 都很好用的 你要不把代码复制一下,重新建一个文件C/C++ Source File(注意后缀名,C程序最好命名成.c的形式) 直接编译运行,说不定就行了

大东区13665954947: vc6中用c语言写的源程序为什么后缀还是.cpp -
靳悦复方: 这个后缀名在Vc中就不那么重要了,因为VC可以兼容以.c为后最名的文件,所以在你建立新的源文件时,VC已经默认了后缀名为.cpp,如果你非要改,也可以改为.c,这样不影响后面...

大东区13665954947: 一段很简单的c语言程序,可在vc上运行结果就是不对,为什么? -
靳悦复方: 你直接用我这个吧,注意学习这种思路,排一次序时不可能解决问题的,还有问题的话再提出来哈. main() { int a,b,c,n,i=1; printf("input three number:\n"); scanf("%d,%d,%d",&a,&b,&c); for(;i { if(a>b) { n=a;a=b;b=n; } if(b>c) { n=b;b=c;c=n; } } ...

大东区13665954947: c语言在VC中运行问题 -
靳悦复方: 不怎么明白前面说的是什么意思,可能是你接收输入的变量与输入的内容不能匹配吧,做库文件可以用MFC AppWizard(dll)创建,做界面如果要求不是很高可以直接调用windows自带的库函数就差不多了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网