Tag: 函数

C ++是否允许VLA作为函数参数

给定代码用于生成魔术方块,其中我已使用VLA作为函数 create_magic_square(int n,int magic_square [n] [n]) print_magic_square(int n,int magic_square [n] [n]) #include void create_magic_square(int n, int magic_square[n][n]); void print_magic_square(int n, int magic_square[n][n]); int main() { int size; printf(“This program creates a magic square of a specified size”); printf(“The size be an odd number between 1 and 99”); printf(“Enter the size of magic square: “); scanf(“%d”, […]

使用C中的递归函数测试回文结构

我尝试编写用于测试字符串的程序,如果它是一个回文或不是,但我总是得到输出,因为它不是一个。 我的代码出了什么问题? #include #include int is_palindrome(int start, int end, char *str) { if (str[start] != str[end]) return 0; else if (start == end) return 1; else return is_palindrome(++start, –end, str); return 0; } int main() { char str[20]; int length,start=0,end=length-1; int result; printf(“Enter the String.\n”); fgets( str, sizeof( str ), stdin ); length = strlen(str); […]

function分配,主要无法使用

我正在尝试分配空间并将我的函数中的文件数据放入main中的char数组指针数组中。 运行程序时出现分段错误。 谁能告诉我为什么? 数据字[0]在函数中正确打印。 这是我的function: void database_extract (char **data_words) { FILE *f_data; f_data = fopen(“database.txt”,”r”); struct stat st; stat(“database.txt”, &st); data_words = (char **)malloc(st.st_size * sizeof(char)); if (data_words == NULL) { printf(“No room\n”); exit(EXIT_FAILURE); } data_words[0] = “test”; printf(“%s”,data_words[0]); } 这是我的主要内容: int main () { char **data_words; database_extract (data_words); printf(“%s”,data_words[0]); } 任何帮助将不胜感激。

无需等待即可从用户那里获得输入 – C语言..!

我正在编写一个简单的计时器,它从00s到55s运行,然后再从00开始计数,并一直计数直到用户停止计时。 为此,我为用户提供了两个选项:1。启动和2.重置。 选择第一个运行程序,并选择第二个,因为我认为,将把计时器转为00s并保持在那里。 现在我面临的问题是我希望在不停止计时器的情况下从用户那里获得输入(即,在程序运行时允许用户随时输入2,这样他就可以停止正在进行的计数)。 我试图使用像getch()和scanf()这样的函数,但它们正在停止计时器,这完全破坏了程序。 任何帮助赞赏的人.. !!

printf返回一个字符串

是否有类似printf的函数可以返回字符串而不是打印它? 我有一个以某种颜色打印字符串的函数,但它必须是字符串文字,而不是接受像printf这样的变量。 // Function declaration (Assums YELLOW and NORMAL are the unix constants for terminal colors void pYellow(char *str) { printf(“%s%s%s”, YELLOW, str, NORMAL); } //Function call void pYellow(“This is a string”); 如果我想用变量打印颜色,它就不会起作用。 像pYellow(“Num: %d”, 42); 会出错,因为它的参数太多了。 做pYellow(printf(“String”)); 也不会工作。 TL:DR我想知道是否有一个printf方法返回一个字符串而不是打印它。

将单指针和双指针传递给c 中的函数

我试图在函数中传递单个指针和双指针 。 但它给了我错误。 int main() { int *pt; fun(pt); . . } fun(int *pt) { pt=(int*)malloc(6*sizeof(int)); . . } 我们使用双指针时的语法是什么。 任何人都可以用一个例子来描述它,或者可以编辑上面的例子。 我将非常感谢你。

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

我试图创建一个有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”, […]

C – 在函数中使用fgets()从stdin读取行

我试图用stgets()从stdin读取行,我想在我的函数中使用fgets(),我认为这是问题所在。 字符串最长可达1024个字符。 当我运行此代码时,我得到“Segmentation fault(core dumped)” #include #include #include #define MAX_SIZE 1025 void print_fgets(); int main() { print_select(); return 0; } void print_select() { char *str; int length; while (fgets( str, MAX_SIZE, stdin)!=NULL) { length=strlen(str); if (length==MAX_SIZE-1 && str[length-1]!=’\n’) { printf(“Error, line overeached buffer!\n”); return 1; } if (str[length-1]==’\n’) str[length-1]=’\0′; printf(“%s\n”, str); } }

将函数作为参数传递给其他函数

我一直在读这个主题。 我已经提到了很多可能的解决方案,所以请不要将我的问题标记为重复,只需要解决这个问题。 我有一个函数来计算一些代码的执行时间。 此代码将作为参数发送(将是一个函数)。 这是计算时间的函数: double executionTime( /* HERE I WANNA PASS THE FUNCTION TO CALCULATE EXECTIME*/ ) { LARGE_INTEGER frequency; LARGE_INTEGER start; LARGE_INTEGER end; double interval; QueryPerformanceFrequency(&frequency); QueryPerformanceCounter(&start); // HERE GOES CODE TO PROCCESS QueryPerformanceCounter(&end); interval = (double) (end.QuadPart – start.QuadPart) / frequency.QuadPart; return (interval); } 我试过这个(和另一种方式,但它是最明显的): double executionTime( void (*f)() ) { LARGE_INTEGER […]

从字符串中删除所有重复的字符 – c

我试图删除给定字符串中的所有重复字符。 例如“asdasd”=“asd”或“abbgga”=“abg”。 当我编译并且当cmd开始运行它时,我正在“停止工作”消息。 这是我的代码: #include #include #include void delMul(char str[]){ int i,j=0; int s[26]; char k ; for ( i = 0; i < 26; i++) { s[i] = 0; } for (i = 0; i < strlen(str); i++) { k = str[i] – 'a'; if(s[k] == 0) { s[k]++ ; str[j++] = str[i]; } […]