本文目录一览:
- 1、我做C语言算法题目时遇到了个问题,用数组实现输入未知数目的数,输入结束进行输出
- 2、C语言怎么让键盘输入数字到数组里,事先不知道要输入多少个数,按回车结束。
- 3、在C语言编程中如何判断一个整数数组的到了结尾,以及数组的长度?
- 4、C语言问题,如何用指针指向未知长度的数组的末尾?
- 5、C语言怎样判断二维数组结束?
- 6、C语言 好几个一维的数组 如何结束输入
我做C语言算法题目时遇到了个问题,用数组实现输入未知数目的数,输入结束进行输出
如果你知道你输入的最大数目,就如楼上所说的方法最简单。
如果连这个也无法确定,那就先malloc一定大小的数组,输入时不断对已经输入的数据计数,如果超过了该数组的大小,就realloc更大的内存(翻倍即可),这也是C++中vector的实现机制。
实力代码:
int size=128,i=0;
int* arr=(int*)malloc(size*sizeof(int));
while(输入未结束){
输入a[i];
++i;
if(i=size){
size*=2;
arr=(int*)realloc(arr,size*sizeof(int));
}
}
C语言怎么让键盘输入数字到数组里,事先不知道要输入多少个数,按回车结束。
#includestdio.h
int main()
{
int i,n=0,a[999];
for(i=0;;i++)
{
scanf("%d",a[i]);
n++; //计算输入个数
if(getchar()=='\n')break; //遇回车中断
}
for(i=0;in;i++)printf("%d ",a[i]);
printf("\n");
return 0;
}
在C语言编程中如何判断一个整数数组的到了结尾,以及数组的长度?
1、显式地传递数组长度,例如
void sot(int a[], int n)
2、隐含地传递数组长度
1)在数组前面存储元数据
例如存储长度n=255的字符串,可以使用长度为n+1的数组。数组的第一个元素存储字符串的长度,接着是字符串的内容。
2)使用特殊元素在数组尾部标记数组的结束
最典型的例子就是C语言使用以NUL('\0')字符结尾的字符数组表示字符串。使用NULL指针标记指针数组的结束也是比较常见的用法。
C语言中函数参数只有数组指针的情况下,是不能判断数组长度的。
C语言如何获得数组的长度?
总长度充溢单个的长度,即得数组的个数。
int len = sizeof(unStartString)/sizeof(unsigned int);
C语言问题,如何用指针指向未知长度的数组的末尾?
楼主,可以用指针解决,即让指针开始指向数组首地址,然后P++,直到遇到\0为止。
例子:
int a[20]={1,2,3,4}
int *p=a /*p指向数组a首地址*/
while(*p) /*这要有值,就为真,p不断往后指*/
++p;
--p; /*注意,p最后还会下移一位,指到了\0,向前一位就指到了末尾的值的了*/
不知道楼主满意否啊? 注意:用指针效率高。
C语言怎样判断二维数组结束?
可以用这样的方法来实现:
#includestdio.h
#includemath.h
int main()
{ char *a[]= {"22","33","44","The end"};
int i;
for(i=0; isizeof(a)/sizeof(a[0]);i++)
printf("%s\n",a[i]);
return 0;
}
C语言 好几个一维的数组 如何结束输入
当读到EOF时结束
Windows采用Ctrl+Z产生一个EOF,*nix采用Ctrl+D产生一个EOF
文件末尾本来就是一个EOF