Tag: 数组

如何通过在c中提升内存地址来存储结果

例1: #include #include void saveData(void* data) // only allow to use void* data { // …After some calculation: int inputData[5] = {1,2,3,4,5}; memcpy((int*)data, inputData, sizeof(inputData)); } int main() { int myNum[256]; saveData((void*)myNum); printf(“\n%d%d%d%d%d\n”,myNum[0],myNum[1],myNum[2],myNum[3],myNum[4]); } 我在main中有一个int数组,并将数组传递给函数saveData, 在函数savaData中,我将inputData [5]保存到myNum [256]; 它工作正常。 例2: 如果我有一个struct数组而不是int数组怎么办: #include #include struct Analysis{ int a; int b[10]; }; void saveData(void* data, size_t size) […]

如何检查字符串是否在文件中

我是C的新手,我正在试图弄清楚如何在一个包含多个数字和单词的文件中搜索特定字符串及其后面的数字。 我正在使用的输入文件如下所示: TREES 2 BENCHES 5 ROCKS 10 PLANTS 8 我知道如何使函数读取字符串,我知道如何比较两个字符串但我不知道如何将它们放在一起或如何设置数组以读取整个文件。 我一直在使用strcmp ,但我只是不知道如何初始化我想要寻找的这个词。

在’ – >’标记之前预期的unqualified-id,如何解决这个问题?

struct box { char word[200][200]; char meaning[200][200]; int count; }; struct root { box *alphabets[26]; }; struct root *stem; struct box *access; void init(){ int sizeofBox = sizeof(struct box); for(int i = 0 ; icount = 0; root->alphabets[i] = temp; //error line } } 错误:在’ – >’标记之前预期的unqualified-id 如何解决这个bug。 谁能解释一下这是什么类型的?

如何查找数组中重复的次数?

我很困惑如何找出用户输入中重复了多少次。 我能够输入数字并查看哪些数字正在重复但不确定如何打印出每个输入的数字以及该数字的使用次数。 这就是我到目前为止所拥有的 #include #include int main(){ double numArray[100]; int x = 0; int y = 0; int counter = 1; int count = 0; setvbuf(stdout, NULL, _IONBF, 0); printf(“Enter any number of integers between 0 and 99 followed a non-numeric: \n”); for (x = 0; x < 100; x++) { if (scanf("%lf", &numArray[x]) != […]

数组大小不正确

#include void Heapify(int num[], int start, int end) { int root = start; while(root*2+1<=end) { // at least one child exists int swap = root; int lchild = root*2+1; int rchild = root*2+2; if(num[swap]<num[lchild]){ swap = lchild; } if(rchild<=end && num[swap]=0){ Heapify(num,start, end); if(start==0) break; start= start-1; } } void heapsort(int num[]) { int length=sizeof(num)/sizeof(num[0]); […]

为什么calloc指针类型是void *?

我读了一本C书。 但是不能理解那句话 如果调用calloc成功,则返回指向内存中数组基类的void *类型的指针; 这里,如果指向类型为void *的指针指向内存中数组的基数,那么array [0]的类型为void? 我想知道什么意思…… 谢谢大家阅读我的问题,希望得到答复!

C中整数行的结尾

我必须从C语言的文本文件中读取一个未定义的矩阵,我想逐行读取它,这样每一行都是一个整数数组。但我怎么知道一行的结尾,因为我可以不要使用“\ n”作为字符吗? 这是代码: #include “stdafx.h” #include “stdlib.h” #include “stdio.h” using namespace System; typedef struct { int *v; int n; }vector; int main(array ^args) { vector *a; FILE* f; int n = 15; int i = 0; int j,k; if ((f = fopen(“C:\\Users\\Mirelaa\\Documents\\visual studio 2013\\Projects\\MatriceNedefinita\\MatriceNedefinita\\Debug\\fisier2.in”, “rt”)) == NULL) { printf(“Fisierul nu poate fi deschis!”); exit(1); }; […]

检查字符串是否包含C 中的子字符串

我想知道是否有办法在char*数组中查找substring 。 我似乎无法从Java与C相当的Contains() 例如: char *buff = “this is a test string. The string contains random text.”; 假设我输入substring以与buff进行比较,并查看在buff找到substring次数。 我能够找到第一次出现,但有多次出现的问题。 有人可以帮我吗?

通过使用递归确定两个数组是否相互置换

我在编写一个代码时遇到了一些困难,该代码通过使用递归来确定两个未排序的数组是否是彼此的排列。 我知道如何通过非递归代码确定它,使用排序 – 但我不知道如何通过使用递归来做到这一点。 到目前为止,我无法得到任何真正的想法…… int CheckPermutation(int arr1[], int arr2[], int size) { if (size == 0) return 1; if (size == 1) return (arr1[0] > arr2[0]); } 这就是我所尝试的,我发现很难从那一点继续

将我的数组转换为函数并制作第二个函数来打印它

我试图创建一个有2个选项,查看和计算的程序。 现在我试图想办法如何转动我的数组,我将我的值输入到一个函数中,所以我可以进出几次来存储值。 我也想查看一个函数,我可以多次查看值。 我已经设法让计算部分在我的主要工作,现在我需要把它变成一个function。 其次,我如何创建第二个函数来查看它? 我的代码有点乱,请耐心等待。 #include #define LENGTH 10 int enterMeasurements(); int main(void) { char input; int nrMeasurements=0; int arrayTable[LENGTH] = {0}; //main menu do { char input; printf(“\nMeasurement tool 1.0\n”); printf(“V for (View)\n”); printf(“E for (Enter Values)\n”); printf(“C for (Compute Values)\n”); printf(“R for (Reset Values)\n”); printf(“Q for (Quit)\n”); printf(“\nEnter input: “); scanf(” %c”, […]