Tag: 数组

在C编程中将2个数组复制到1个数组中

如何将2个单独的2D数组复制到1个数组中,我在下面描述了我的意思: 我有一个数组:a,b,c我有第二个数组:d,e,f 我希望第三个数组同时具有上述数组:第三个数组:a,b,c,d,e,f 到目前为止,我的代码只是获取两个数组的值,并在打印第三个数组时注释掉: #include #include #include int main(){ int i,j,count; char ar1[3][10]={“a”,”b”,”c”}; char ar2[3][10]={“d”,”e”,”f”}; char ar3[6][10]; for (i=0;i<3;i++){ printf("%s\n",ar1[i]); } for (i=0;i<3;i++){ printf("%s\n",ar2[i]); } printf('new array:\n'); // for (i=0;i<6;i++) // printf("%s\t\n",ar3[i]); }

用动态内容声明arraz

你好我想制作程序,它会说明这个词中有多少大字母和短字母但是这个问题我不能动态地声明数组的内容。 这是所有C代码。 我试过这个 char something; scanf(“%c”,somethnig); char somethingmore[]=something; printf(“%c”,something[0]) 但是编译不可能我也试过这样的东西 char *something; scanf(“%c”,something); printf(“%c”,something[0]); 有可能编译但被称为数组指针时压缩(如果命名是错误的我就是apoligize)我编程初学者所以这可能是愚蠢的问题。 这只是我运行的问题的一个例子,而不是我的程序的代码。

(C中的内联汇编)有趣的内存分段错误

我的asm汇编代码中有以下部分 “LOOP%=:\n\t” “movapd (%%eax), %%xmm4\n\t” “addl $32, %%eax\n\t” “movsd (%%edx), %%xmm5\n\t” “addl $16, %%edx\n\t” “movapd %%xmm4, %%xmm6\n\t” “subl $1, %%ecx\n\t” “unpcklpd %%xmm5, %%xmm5\n\t” “testl %%ecx, %%ecx\n\t” “mulpd %%xmm5, %%xmm6\n\t” “movsd -8(%%edx), %%xmm7\n\t” “addpd %%xmm6, %%xmm0\n\t” “movapd -16(%%eax), %%xmm6\n\t” “unpcklpd %%xmm7, %%xmm7\n\t” “mulpd %%xmm6, %%xmm5\n\t” “addpd %%xmm5, %%xmm1\n\t” “mulpd %%xmm7, %%xmm4\n\t” “addpd %%xmm4, %%xmm2\n\t” “mulpd %%xmm6, […]

在C中获取两个数组的差异的有效方法是什么?

样本输入 Array_1 [] = { 10, 20, 30, 40, 50 }; Array_2 [] = { 30, 40, 50, 60, 70 }; 样本输出 Array_1_Extras [] = { 10, 20 }; Array_2_Extras [] = { 60, 70 }; 描述 输入数组未排序。 输入数组长度 – 10K。 输入数组值范围为0 – 4095。 不应修改输入数组顺序和值。 输出数组可以按任何顺序排列。 输出数组中不需要重复项。 我需要一些时间有效的逻辑来实现这个程序。 提前致谢。

将三重指针传递给函数然后mallocing一个二维数组

得到分段错误并且不明白为什么,必须传递三重指针才能进行分配,所以无法改变… 这是function void alloc2d(double*** a, int m, int n) { int i, j; **a = malloc(sizeof(double *) * m); a[0] = malloc(sizeof(double) * n * m); for(i = 0; i < m; i++) a[i] = (*a + n * i); } 这是函数的调用…… double** m; alloc2d(&m, 5, 10); double count = 0.0; for (int i = […]

使用calloc和数组并返回指针的麻烦

作为参考,这是我的任务的第二部分: int* generateFibonacci(int size); 此函数将输入一个称为size的整数作为输入。 size变量中包含的值将表示要放入数组的Fibonacci序列中的数量。 该函数将使用calloc创建此大小的数组,然后使用Fibonacci序列中的size编号填充数组,从1和1 。 当数组完成时,函数将返回指向它的指针。 当我在第8行中收到错误warning: assignment makes and integer from pointer without a cast时,我遇到了麻烦:在warning: assignment makes and integer from pointer without a cast 。 我得到的另一个错误是在第19行“ warning: return makes pointer from integer without a cast ”。 所以我的问题是,我怎么想设置calloc来使用一个大小来自用户的数组,然后返回一个指向它的指针? #include #include int* generateFibonacci(int size) { int i, array[size]; array[size]=(int*)calloc(size, sizeof(int)); array[0]=0; array[1]=1; for(i […]

如何增加数组的限制?

// C Program to find average of numbers given by user #include #include #include void main() { double sum = 0; int ii = 0,c; char buf[256], *token; printf(“Enter the numbers to average on a single line, separated by space and press enter when done\n”); fgets(buf, 255, stdin); token = strtok(buf, ” “); while (token […]

使用C中的指针进行2D数组操作

假设我有一个操作2D数组的函数,该数组从主函数接收指向2D数组的指针作为其参数。 现在,我想修改(假设每个元素添加10个)2D数组的每个元素。 我有兴趣知道使用给我的单个指针遍历2D数组并返回新修改的数组的指针。 粗糙的结构 假设指针a包含2D数组的初始地址。 int add_10(int *a) { int i, j, b[M][N] = {0}; for(i = 0; i < M; i++) for(j = 0; j < N; j++) b[i][j] = 10 + a[i][j]; }

如何在C中初始化指向指针的指针

所以我得到了这个包含2个字段的struct Node : DataP data , void * key , DataP只是void*的typedef 。 我创建了一个双指针Node **table ,使其像2D数组一样。 我无法想象如何malloc它,我希望这个双指针充当2D数组,其中2为行数,x为cols数。 我试过table = (Node**)malloc(sizeof(Node*)*2); 但这是对的吗? 我该如何从这里继续?

将字符串从文件存储到数组

我已经从两个文件中读取了字符串并将它们存储到两个独立的数组中,然后我尝试对它们进行排序并将它们写入另一个文件中…这部分按照它应该的方式工作,但我真正需要做的是组合字符串从两个数组到一个,以便我可以按字母顺序对它们进行排序,然后写入文件,但问题是,当我尝试将这两个数组存储到一个数组中时,我得到分段错误作为错误消息。我真的不知道如何将这两个数组存储到另一个数组,以便我可以按顺序排序…我知道如何排序它我只是不知道如何将这些读入另一个数组…我不能使用#DEFINE因为我将把所有这些写成测试代码的函数… 我尝试过类似的东西 new [i] = str; 并且: 的strcpy(新[I],STR) 但这些都不起作用……我们将非常感谢任何帮助…… 这是我的代码: #include #include main (void) { char str[200]; char str2[300]; char new[300]; char temp [300]; int linenumber=0; FILE *fa = fopen (“book1.dat”, “r”); FILE *fb = fopen (“book2.dat”, “r”); FILE *fc = fopen (“fixed.txt”, “w”); int i=0; int j=0; int k; /*read the strings into an […]