我是鸽手 2019-02-02 22:49 采纳率: 0%
浏览 2000

关于一串数字的倒序输出(落谷题目)

图片说明
#include
using namespace std;
int x[100],c=0;
int main(){
for(int i=0;;i++){//第五行
cin>>x[i];
if(x[i]==0) break; //第七行
c=i;
}
for(int j=c;j>=0;j--)
cout< return 0;
}

#include
using namespace std;
int x[100],c=0;
int main(){
for(int i=0;x[i]!=0;i++){//第五行
cin>>x[i];

    c=i;
}
for(int j=c;j>=0;j--)
cout<<x[j]<<" ";
return 0;

}
两处代码在第五行和第七行有一些不同,第二种编译器报错,这是为什么,个人认为没什么区别,求大神解答,有题目的照片

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-02-02 23:52
    关注
    你确认是编译错误么?不谈运行结果,第二个程序可以编译。
    
    但是两个程序并不等价
    
    for(int i=0;;i++){//第五行
    cin>>x[i];
    if(x[i]==0) break; //第七行
    c=i;
    }
    因为cin>>x[i];的存在,不能写成等价的for循环
    可以写成
    int i=0;
    do
    {
    cin>>x[i];
    }
    while (x[i]!=0?1:(c=i,0));
    
    
    评论

报告相同问题?