有个问题不是很懂!!!来求教!!!
#include<stdio.h>
int main()
{
bool s[1000000];
int t,r,i;
for(i=0;i<1000000;i++)
s[i]=false;
for(i=1;i<=1000000;i++){
t=i;
r=i;
while(t!=0){
r+=t%10;
t/=10;
}
if(r<=1000000)
s[r-1]=true;
}
for(i=0;i<1000000;i++)
if(s[i]==false) printf("%d\n",i+1);
}
这个代码为什么在用VC检查时会出现这些:
--------------------Configuration: 试验 - Win32 Debug--------------------
Compiling...
试验.c
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2065: 'bool' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2146: syntax error : missing ';' before identifier 's'
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2065: 's' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2109: subscript requires array or pointer type
G:\C程序\zjuacm\A掉的\O 1180\试验.c(6) : error C2143: syntax error : missing ';' before 'type'
G:\C程序\zjuacm\A掉的\O 1180\试验.c(7) : error C2065: 'i' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(8) : error C2109: subscript requires array or pointer type
G:\C程序\zjuacm\A掉的\O 1180\试验.c(8) : error C2065: 'false' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(8) : error C2106: '=' : left operand must be l-value
G:\C程序\zjuacm\A掉的\O 1180\试验.c(10) : error C2065: 't' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(11) : error C2065: 'r' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(17) : error C2109: subscript requires array or pointer type
G:\C程序\zjuacm\A掉的\O 1180\试验.c(17) : error C2065: 'true' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(17) : error C2106: '=' : left operand must be l-value
G:\C程序\zjuacm\A掉的\O 1180\试验.c(20) : error C2109: subscript requires array or pointer type
执行 cl.exe 时出错.
试验.exe - 1 error(s), 0 warning(s)
难道C里面不能用bool型的吗?
还有把上面的代码改成以下方式:
#include<stdio.h>
int main()
{
int s[1000000],t,r,i;
for(i=0;i<1000000;i++)
s[i]=0;
for(i=1;i<=1000000;i++){
t=i;
r=i;
while(t!=0){
r+=t%10;
t/=10;
}
if(r<=1000000)
s[r-1]=1;
}
for(i=0;i<1000000;i++)
if(s[i]==0) printf("%d\n",i+1);
}
就会超界,难道数组不能超过1000000的?那要怎么样表示超过1000000的数放在一个容器内?
int main()
{
bool s[1000000];
int t,r,i;
for(i=0;i<1000000;i++)
s[i]=false;
for(i=1;i<=1000000;i++){
t=i;
r=i;
while(t!=0){
r+=t%10;
t/=10;
}
if(r<=1000000)
s[r-1]=true;
}
for(i=0;i<1000000;i++)
if(s[i]==false) printf("%d\n",i+1);
}
这个代码为什么在用VC检查时会出现这些:
--------------------Configuration: 试验 - Win32 Debug--------------------
Compiling...
试验.c
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2065: 'bool' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2146: syntax error : missing ';' before identifier 's'
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2065: 's' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(5) : error C2109: subscript requires array or pointer type
G:\C程序\zjuacm\A掉的\O 1180\试验.c(6) : error C2143: syntax error : missing ';' before 'type'
G:\C程序\zjuacm\A掉的\O 1180\试验.c(7) : error C2065: 'i' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(8) : error C2109: subscript requires array or pointer type
G:\C程序\zjuacm\A掉的\O 1180\试验.c(8) : error C2065: 'false' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(8) : error C2106: '=' : left operand must be l-value
G:\C程序\zjuacm\A掉的\O 1180\试验.c(10) : error C2065: 't' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(11) : error C2065: 'r' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(17) : error C2109: subscript requires array or pointer type
G:\C程序\zjuacm\A掉的\O 1180\试验.c(17) : error C2065: 'true' : undeclared identifier
G:\C程序\zjuacm\A掉的\O 1180\试验.c(17) : error C2106: '=' : left operand must be l-value
G:\C程序\zjuacm\A掉的\O 1180\试验.c(20) : error C2109: subscript requires array or pointer type
执行 cl.exe 时出错.
试验.exe - 1 error(s), 0 warning(s)
难道C里面不能用bool型的吗?
还有把上面的代码改成以下方式:
#include<stdio.h>
int main()
{
int s[1000000],t,r,i;
for(i=0;i<1000000;i++)
s[i]=0;
for(i=1;i<=1000000;i++){
t=i;
r=i;
while(t!=0){
r+=t%10;
t/=10;
}
if(r<=1000000)
s[r-1]=1;
}
for(i=0;i<1000000;i++)
if(s[i]==0) printf("%d\n",i+1);
}
就会超界,难道数组不能超过1000000的?那要怎么样表示超过1000000的数放在一个容器内?
...全文
相关推荐
南京工业大学操作系统课程设计,你懂的!!!_rezip.zip
南京工业大学操作系统课程设计,你懂的!!!_rezip
计算机主板维修不是事儿.pdf
计算机主板维修不是事儿,带目录标签!!!计算机主板维修不是事儿,带目录标签!!!
珍藏的迅雷5,只能用老版了,您懂的!!!
只能用老版了" 提示我们这个版本可能不支持最新的操作系统或者功能更新,可能与当前的系统兼容性存在问题,尤其是对于64位系统的用户。"您懂的!!!"
大文懂个P趣味创意卡通风个人月总结ppt模板
ppt设计师个人月总结ppt模板,大文八月记,我是大文懂个P,#一个什么都会,什么又都不会de95后!#月薪3K 房租1500 花呗-5K,#惹不起!!!喜欢PPT!大文懂个P趣味创意卡通风个人月总结
腾讯课堂PC版客户端!!!
腾讯课堂PC版客户端!!!腾讯课堂PC版客户端!!!腾讯课堂PC版客户端!!!不是手机版本,不是手机版本,不是手机版本!


