因为根本没有,C、C++里的数组是原始数据类型,其维数信息哪儿都没存,你当然没有办法获取
对于C,你甚至很难用数据结构搞定它,当然用复杂的struct可以搞定,就是太麻烦了
对于C++,你可以写数组类,但是用原生的类型就不要指望了
#include<stdioh>
#include<stringh>
//用字符串来解决问题
void main()
{
int m[10]={0}; /数组/
int i=0,j=0; /循环变量/
char temp=NULL; /字符指针/
gets(temp); /读入字符串/
while(1) /死循环/
{
if(temp[i]!='\0') m[i]=temp[i]-48; /转换为数字/
else break; /碰到字符串结束标志时退出循环/
i++; /统计有几个数字/
}
for(j=0;j<i;j++) /输出/
printf("%d",m[j]);
getch();
}
看了下你的代码,你是将text中的一个数字赋给数组的100个元素。然后循环100次在label2中显示。这样是可以显示的。如果不能,要么你看错控件了,要么你文本框没输入数据(会报错),要么你将label设为不可见了。=============================================================================以后注意把问题描述清楚,就像你的补充“如果输入五个数字然后在标签的属性里显示十个元素 中间用逗号阁开啊”,彻底看不懂什么意思,这样大家回答的辛苦,你的问题也解决不了,不是浪费时间么。你要的是这种效果吧:在文本框中输入一组数字,用空格隔开,然后在label中显示用逗号隔开的,这样的话完全没必要做什么数据转换了。private void button1_Click(object sender, EventArgs e)
{
string[] a = textBox1TextSplit(' '); foreach (string n in a)
{
label1Text += n + ",";
continue;
} label1Text = label1TextTrimEnd(','); }如果是这样,其实最简单的,只要一句代码就行,直接用replace将空格替换为逗号!
可以使用单层循环遍历一维数组,使用嵌套循环遍历二维数组,其中外层循环控制行,内层循环控制列。
示例代码:
public static void main(String[] args){
//定义3行4列的二维数组
int[] array=new int[3][4];
//循环为数组赋值
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
array[i][j]=i+j;
}
}
//循环输出数组的值
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
Systemoutprintln("array["+i+"]["+j+"]="+array[i][j]);
}
}
}
c语言程序中,数值型一维数组获取原始数据的方式有以下几种:
1)定义数组时全体初始化:
int a[5]={1,2,3,4,5};
2)定义数组时部分初始化:
int a[5]={1,2};
相当于:
int a[5]={1,2,0,0,0};
3)定义数组后,从键盘输入:
int i,a[5];
for(i=0;i<5;i++)
scanf("%d",&a[i]);
4)定义数组后,从文件输入:
FILE fp;
fp=fopen("intxt","r");
int i,a[5];
for(i=0;i<5;i++)
fscanf(fp,"%d",&a[i]);
5)定义数组后,使用随机函数赋值:
int i,a[5];
for(i=0;i<5;i++)
a[i]=rand()%100;
6)定义数组后,从别的数组复制(或别的计算方法获得):
int i,a[5];
for(i=0;i<5;i++)
a[i]=b[i]; //b[]数组已经定义,并已赋值
以上就是关于c/c++如何获取未知数组的维数非常感谢!!全部的内容,包括:c/c++如何获取未知数组的维数非常感谢!!、C语言数组读入、C#中如何用标签TEXT输出一个数组的所有元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)