循环阿
[此贴子已经被作者于2007-5-19 17:11:25编辑过]
呵呵~~~
#include <iostream> using namespace std;
void main() { int a[100]={12,161,231,48,13}; for(int i=0;a[i]!='\0';i++) { cout<<a[i]<<'\t'; } }
因为数组在结束时会自动添加\0字符,所以可以以此作为判断~~
#include <iostream>using namespace std;
void main(){ int a[100]={12,161,231,48,13}; for(int i=0;a[i]!='\0';i++) { cout<<a[i]<<'\t'; }}
你把你的数组加个0再试试结果。数组不会在末尾加空字符,除了一个例外,那就是char c[] = "cstring"时。这里只是把空字符转换为0了,因为你初始化时,后面没显示初始化的都是值初始化,为0!
你可以尝试一下这个函数:#include<iostream>using namespace std;void main(){ int num; int *b=new int[num]; cout<<"输入数组,输入任意字母结束!"<<endl; for(int i=0;cin.fail()!=1;i++) { cin>>b[i]; if(cin.fail()==1) //当输入不是数字的时候,数组结束 { num=i; cin.clear(); cin.sync(); break; } } for(i=0;i<num;i++) { cout<<b[i]<<'\t'; }
}