Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C中计算数组的元素? #包括 #包括 int main() { 字符名[32][32]; 字符输入[32]; 整数; int i; 对于(i=0;i_C_Arrays - Fatal编程技术网

如何在C中计算数组的元素? #包括 #包括 int main() { 字符名[32][32]; 字符输入[32]; 整数; int i; 对于(i=0;i

如何在C中计算数组的元素? #包括 #包括 int main() { 字符名[32][32]; 字符输入[32]; 整数; int i; 对于(i=0;i,c,arrays,C,Arrays,如何将目标字符串初始化为0,然后在打印时检查它们是否为空 #include <stdio.h> #include <string.h> int main() { char name[32][32]; char input[32]; int number; int i; for(i=0;i<10;i++) { fgets(input,sizeof(input),stdin); sscanf(input,%s,name[i]); } //ass

如何将目标字符串初始化为0,然后在打印时检查它们是否为空

#include <stdio.h>
#include <string.h>
int main()
{
char name[32][32];
char input[32];
int number;
int i;

for(i=0;i<10;i++)
{
    fgets(input,sizeof(input),stdin);
    sscanf(input,%s,name[i]);

}  

//assume that we don't know variable name have 10 element of arrays.

//function to count how many elements of arrays to stored at number.

for(i=0;i<number;i++)
{
    printf("%s",name[i]);
}
}
#包括
#包括
int main()
{
字符名[32][32]={0};
...

for(i=0;iC不维护此类信息。由开发人员实现某种方式来知道数组中的项是否有效。通常通过选择“无效值”来实现,该值在实际数据中永远不会出现。另一种方法是单独维护计数

这对于学习C来说是很好的。如果你是为现实世界做这件事,你会更好地使用像列表这样的数据结构。如果你使用C++,我建议你学习STL。< /P> 简单的C解决方案是这样的。值“empty”用于表示输入中通常不会出现的任何值。您可以将#define更改为您想要的任何其他值,如“----”或“.”。我们首先将整个数组初始化为“empty”

#包括
#包括
#定义最大项目32
#定义最大长度32
#定义空“空”
内部主(空)
{
字符名称[最大项][最大长度];
字符输入[最大长度];
int i;
对于(i=0;i
这是一个解决方案。
但我不知道为什么它在尝试创建数组长度函数时不起作用

#include <stdio.h>
#include <string.h>

#define MAX_ITEMS 32
#define MAX_LENGTH 32
#define EMPTY "empty"

int main(void)
{
        char name[MAX_ITEMS][MAX_LENGTH];
        char input[MAX_LENGTH];
        int i;

        for(i = 0; i < MAX_ITEMS; i++)
        {
                strcpy(name[i], EMPTY);
        }

        for(i = 0; i < 10; i++)
        {
                fgets(input, MAX_LENGTH, stdin);
                sscanf(input, "%s", name[i]);
        }

        for(i = 0; strcmp(name[i], EMPTY) && i < MAX_ITEMS; i++)
        {
                printf("%s\n", name[i]);
        }

        return(0);
}
#包括
int main(){
int a[]={1,2,3,4,5,6,7,8,9,0};
内伦;
len=sizeof(a)/sizeof(*a);
printf(“长度为%d\n”,len);
返回0;
}

的副本。您能解释一下您想计算什么吗?数组中的元素数???@Jeffrey我认为OP指的是数组中存储的10个项目,而不是数组的大小。如果我输入一个空行(
name[I]=“”
),会怎么样?然后它就不被计算了。根据操作。哦!!我的错误。对不起,我不擅长英语和词义@kinjall Dixit是的,我想知道这个函数可以计算数组中存储的项目。哦,非常感谢。我可以使用你的指南来应用我的程序。你解释得很清楚。我应用了你的代码,遇到了新问题。哈哈,len=sizeof(a)/sizeof(int)
#include <stdio.h>
#include <string.h>

#define MAX_ITEMS 32
#define MAX_LENGTH 32
#define EMPTY "empty"

int main(void)
{
        char name[MAX_ITEMS][MAX_LENGTH];
        char input[MAX_LENGTH];
        int i;

        for(i = 0; i < MAX_ITEMS; i++)
        {
                strcpy(name[i], EMPTY);
        }

        for(i = 0; i < 10; i++)
        {
                fgets(input, MAX_LENGTH, stdin);
                sscanf(input, "%s", name[i]);
        }

        for(i = 0; strcmp(name[i], EMPTY) && i < MAX_ITEMS; i++)
        {
                printf("%s\n", name[i]);
        }

        return(0);
}
#include<stdio.h>
int main(){
     int a[]={1,2,3,4,5,6,7,8,9,0};
     int len;
     len = sizeof(a)/sizeof(*a);
     printf("Length is %d\n",len);
return 0;
}