C++ 如何获得一个数组中 有多少个数

intstr[100];gets(str);控制台输入2567输出结果4(输入了4个数)请问如何实现最好有代码感激不尽char数组可以用strlen函数但是int型的不行... int str[100];
gets(str);

控制台输入 2 5 6 7
输出结果4(输入了4个数)
请问如何实现
最好有代码 感激不尽

char数组可以用strlen函数 但是int型的不行 求一个int 型的的求解方式
展开
 我来答
金色潜鸟
2013-12-13 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5704万
展开全部
int str[100];
gets(str); -- 错,gets 用于 char str[100]; 不能 int 型。
===============
一个数组x[]中 有多少个元素:
int x[]={1,2,3,4,5,6,7,8,9,10};
n = sizeof(x) / sizeof(int);
================
控制台输入 2 5 6 7回车 输出结果4(输入了4个数) ,用下法:
#include <stdio.h>
int main()
{
int x[]={1,2,3,4,5,6,7,8,9,10};
int i, n,c;
n = sizeof(x) / sizeof(int);
printf("There are %d elem in the array\n",n);

printf("\nintput data\n");
n=0;
while(1){
if ( scanf("%d",&x[n]) ==1) n++; // 统计个数
c = getc(stdin);
if (c=='\n') break; else ungetc(c,stdin); // 判断是否输入结束符 \n到达
}
printf("you typed %d data:\n",n);
for (i=0;i<n;i++)
printf("%d ",x[i]);
return 0;
}
libra_boy
2013-12-13 · TA获得超过117个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:116万
展开全部
最好定义一个结束标志 字符串的结束标志是‘\0’所以strlen能计算出长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友303851e
2013-12-13 · TA获得超过396个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:152万
展开全部
你确定 gets的参数可以为int型数组吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3311086
2013-12-13 · 超过17用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:46.5万
展开全部
while(str[i]!=/0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
2015-10-21 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:890万
展开全部
1、C语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子函数当中,数组名会退化为一个指针。
2、例如:
int data[4],length;
length=sizeof(data)/sizeof(data[0]); //数组占内存总空间除以单个元素占内存空间大小,即等于元素个数
printf("length of data[4]=%d", length ); //输出length of data[4]=4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式