C++中怎样判断没有对int型数据赋值
有inta;现在要判断a有没有赋初值比如,如果a没有被赋初值,执行代码cout<<"0";,否则执行cout<<a;请高手写出判断的代码!!!没赋初值的数一般是一个很大的...
有 int a;
现在要判断a有没有赋初值
比如,如果a没有被赋初值,执行代码cout<<"0";,否则执行cout<<a;
请高手写出判断的代码!!!
没赋初值的数一般是一个很大的随机负数,可以利用这一点判断,但我想要专业一点的方法
编译器是VC
高手帮帮忙啊
不会吧 哪能判断不出来呢
真有那么那难吗,也太夸张了吧 展开
现在要判断a有没有赋初值
比如,如果a没有被赋初值,执行代码cout<<"0";,否则执行cout<<a;
请高手写出判断的代码!!!
没赋初值的数一般是一个很大的随机负数,可以利用这一点判断,但我想要专业一点的方法
编译器是VC
高手帮帮忙啊
不会吧 哪能判断不出来呢
真有那么那难吗,也太夸张了吧 展开
展开全部
没有被赋初值的变量是个随机数,要捕捉它还真有些难度。
不过我发现一点,在VC++的编译环境中编译以下代码:
#include<iostream>
using namespace std;
int main()
{
int a;
//cout<<a<<endl;
return 0;
}
会出现"warning C4101: 'a' : unreferenced local variable"的警告,也就是说编译器自身能判断,按理说只要知道它是如何判断的就行了,但编译器的判断也只是停留在程序表面,并没有对一个变量有没有赋初值进行专业化判断。
对于这个问题,本人没有找到很好的判断方法,但仔细一想,对一个变量有没有被赋初值进行判断似乎没有必要,因为变量是程序员自己定义的,有没有赋初值他自己最清楚,所以最简单的方法就是去找写那个程序的程序员问问清楚,或向他要源代码看看就可以了。
不过我发现一点,在VC++的编译环境中编译以下代码:
#include<iostream>
using namespace std;
int main()
{
int a;
//cout<<a<<endl;
return 0;
}
会出现"warning C4101: 'a' : unreferenced local variable"的警告,也就是说编译器自身能判断,按理说只要知道它是如何判断的就行了,但编译器的判断也只是停留在程序表面,并没有对一个变量有没有赋初值进行专业化判断。
对于这个问题,本人没有找到很好的判断方法,但仔细一想,对一个变量有没有被赋初值进行判断似乎没有必要,因为变量是程序员自己定义的,有没有赋初值他自己最清楚,所以最简单的方法就是去找写那个程序的程序员问问清楚,或向他要源代码看看就可以了。
展开全部
这个和编译器有关吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
难道用汇编?我也关注下,看看如何判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
判断不出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询