Tag: 数组

在一个数组中,如何检查其内容编号中的任何两个是否可以加到某个值x?

可以使用什么命令来检查数组中任何两个数字的总和是否合计为x的某个值。

C程序中的非法初始化

我试图在Turbo C中运行此代码并在第9行进行非法初始化我做错了什么? #include #include void main() { int names[] = {23,23,34}; int *nam[] = { names, names+1 , names +2}; char *temp; clrscr(); printf(“%u” , (nam)); getch(); }

将c字符串解析为指针数组时出现分段错误

函数makearg应该计算char数组中的单词数,并将每个单词分解为指针数组中自己的位置。 分段错误似乎是strncpy函数的问题。 int makearg(char s[], char ***args); int main(){ char **args = (char**)(malloc(100)); char *str = “ls is a -l file”; int argc; argc = makearg(str, &args); printf(“%d”, argc); printf(“%c”, ‘\0’); int i; for(i = 0; i < argc; i++){ puts(args); printf("%c", '\n'); } return 0; } ///////////////////////////////////////// int makearg(char s[], char ***args){ int argc […]

创建数组的动态声明

我想要动态声明的make数组我想象像这样的somethnig。我想要make程序识别单词中的字符。 char i; scanf(“%c”,&i); char word[]=i; printf(“%c”,word[0]); 我也试过这样的事情 char i; scanf(%c,&i); char *word=i; printf(“%c”,word[0]); 我不知道如何使它工作

在分隔符处拆分字符串并将子字符串存储在C中的char **数组中

我想编写一个函数,通过第一次出现的逗号将用户在命令行上给出的字符串拆分并放入数组中。 这是我尝试过的: char**split_comma(const str *s) { char *s_copy = s; char *comma = strchr(s_copy, “,”); char **array[2]; *(array[0]) = strtok(s_copy, comma); *(array[1]) = strtok(NULL,comma); return array; } 这是主要function: int main(int argc, char **argv) { char **r = split_comma(argv[1]); printf(“substring 1: %s, substring 2: %s\n”, r[0],r[1]); return 0; } 有人可以给我一些见解,为什么这不起作用?

外部范围时未定义变量

编写一个程序,让用户抛出五个骰子并以“图形方式”显示结果屏幕。 该程序应该首先通过填充一个介于1之间的5个数字的数组来模拟五个掷骰子然后,函数应该通过在屏幕上显示字符和计算函数来“绘制”结果总和。 我得到第一个函数的错误消息,它说我没有定义矩阵,我在“if”中定义了。 #include int sumOfDie(int inputArray[], int arraySize); int drawDie(int inputArray[], int arraySize) { int i, row, column=0; for (i=0; i<arraySize; i++) //determine the graphic number from the random number { if (inputArray[i]==1) { char matrix [3][4] = {{" "},{" * "},{" "}}; } if (inputArray[i]==2) { char matrix [3][4] = {{"* "},{" "},{" […]

我怎样才能在C中解决这个问题?

我有一个模拟BMI(身体质量指数)计算器的程序,该计算器接收来自10个用户的输入,询问每个用户的重量和高度,然后程序计算BMI并在格式化的输出中打印计算结果。 像这样的东西: USER BMI STATUS 1 : 10 所以我想到了这一点,我会首先接受用户的输入,然后尝试以上面的格式化方式显示输入的计算。 以下是我试图提出的问题,一直向用户询问他们的体重和身高,直到第10位用户。 #include #include int main(void) { float weight_value = 0.0f; float user_height = 0.0f; float BMI = 0.0f; char BMI_Status[30]; int i; for ( i = 1; i <= 10; i++) { printf("Please enter your weight: "); scanf("%f", &weight_value); //Reads in the user's weight printf("Now enter […]

在单个malloc()调用中创建2D数组

#include #include #define MAX_ROWS 5 #define MAX_COLS 5 int globalvariable = 100; void CreateMatrix(int ***Matrix) { int **ptr; char *cp; int i = 0; *Matrix = (int**)malloc((sizeof(int*) * MAX_ROWS) + ((MAX_ROWS * MAX_COLS)*sizeof(int))); ptr = *Matrix; cp = (char*)((char*)*Matrix + (sizeof(int*) * MAX_ROWS)); for(i =0; i < MAX_ROWS; i++) { cp = (char*)(cp + ((sizeof(int) […]

c – 在2d数组中检查null

我从输入文件中填充10 x 10个字符的网格。 我需要检查网格是否是正方形(即,有N×N个字符,其中N <= 10) 输入文件是这样的: pitk olpe pkey tope 当我在gdb中打印网格时,我得到以下结果: $1 = {“pitk\000\000\000\000\366h”, “olpe\000\000\001\000\000”, “pkey\000\000\000\000\000”, “tope\000\000\000\000\000”, “\000\344\241\367\377\177\000\000”, , “\000\377\377\177\000\000\037\355\336”, , “\000\177\000\000\000\000\000\000\000”, “\000\000\000\000\000\000\000\000\000”, “\000\000\000\000\000\000\000\000\r\020”, “\000\000\000\000\000\000\000\000\000”} 我的主函数中检查网格是否有效的部分是: bool check = (checknxn(grid)); if(check == false) { fprintf(stderr, “Invalid Input!\n”); exit(0); } checknxn函数: bool checknxn(char grid[10][10]) { int columns = 0; for(int i=0;i<10;i++) { if(grid[0][i]!=NULL) columns++; else […]

PyCuda:在Cuda内核中通过指针取消引用数组元素

我正在使用PyCuda通过指针将数组对传递给cuda内核。 数组是不同内核的输出,因此数据已经在GPU上。 在内核中,我试图访问每个数组中的元素来进行向量减法。 我为数组中的元素获取的值不正确(h&p在下面的代码中是错误的)。 任何人都可以帮我看看我做错了什么? 我的代码: import pycuda.driver as cuda import pycuda.autoinit from pycuda.compiler import SourceModule import numpy as np import time import cv2 from pycuda.tools import DeviceMemoryPool as DMP from scipy.spatial import distance import os import glob def get_cuda_hist_kernel(): #Make the kernel histogram_kernel = “”” __global__ void kernel_getHist(unsigned int* array,unsigned int size, unsigned int* […]