Tag: 运行时错误

使用最少数量的malloc调用为2D数组分配内存

我使用下面的代码片段,使用最少数量的malloc()调用为2D数组分配内存。 我想使用下标p [i] [j]访问数组。 #define ROW 3 #define COL 2 int main() { void **ptr = malloc( ROW*COL* sizeof(int) ); int (*p)[COL] = ptr; int i, j; for( i = 0; i < ROW; ++i ) for( j = 0; j < COL; ++j ) scanf("%d", &ptr[i][j]); for( i = 0; i < ROW; ++i […]

Allegro 5在调用al_clear_to_color(ALLEGRO_COLOR)时崩溃

我从Allegro 5开始,但很快我就陷入了第二个类似hello-world的程序中。 经过一些调试后,我得出结论,程序在调用函数al_clear_to_color(ALLEGRO_COLOR)时崩溃了。 我已尝试静态和动态地链接allegro,但问题仍然存在。 我完全迷失了。 这是代码: #include #include int main() { ALLEGRO_DISPLAY *display; ALLEGRO_KEYBOARD_STATE kbState; if(!al_init()) return 0; if(!al_install_keyboard()) return 0; display = al_create_display(800, 600); if(!display) return 0; do { al_get_keyboard_state(&kbState); al_clear_to_color(al_map_rgb(255, 255, 255)); al_flip_display(); al_rest(0.5); } while(!al_key_down(&kbState, ALLEGRO_KEY_ESCAPE)); al_destroy_display(display); return 0; } 编辑: 替换线 al_clear_to_color(al_map_rgb(255, 255, 255)); 为线 al_clear_to_color(tempClearColor); 声明 ALLEGRO_COLOR tempClearColor = al_map_rgb(255, […]

为什么我得到’浮点exception:8′

我正在尝试计算0到100之间的所有素数,并且我得到一个浮点exception,有人可以告诉我为什么吗? (如果它有助于我使用gcc) #include int main(void) { int nums[100], i; for(i=0;i<100;i++) nums[i] = i; int j,k,l,z; for(i=1;i<100;i++) for(j=2;j<100;j++) if((nums[i] % nums[j]) == 0) { nums[j] = 0; } for(i=0;i<100;i++) if(nums[i] != 0) break; for(z=0;z<100;z++) { for(k=i;k<100;k++) for(l = (k+2);l < 100;l++) if((nums[k] % nums[l]) == 0) nums[k] = 0; } for(i=0;i<100;i++) if(nums[i] != 0) printf("%d,",nums[i]); printf("\n"); […]

OpenCV 2.1:运行时错误

我有一个使用OpenCV的程序。 我有一个网络摄像头,它捕获彩色帧,我想将彩色帧转换为灰度帧。 所以,我使用了cvCvtColor(color_frame, gray_frame, CV_BGR2GRAY); 将颜色帧转换为BW帧。 使用此颜色 – >灰度转换函数时,我得到一个运行时错误: OpenCV Error: Null pointer (NULL array pointer is passed) in unknown function, file ..\..\..\..\ocv\opencv\src\cxcore\cxarray.cpp, line 2376 以前有人遇到过这个问题吗 任何解决方案如何解决此问题? 谢谢 我的计划 #include #include #include #include #include”cv.h” #include”highgui.h” #include”cxtypes.h” #define ERROR -1 #define NO_ERROR 1 int main() { int EXIT_STATUS = NO_ERROR; int camera_index = 0; CvCapture *capture […]

我应该检查malloc()是否成功?

如果成功,应该在每个malloc()之后检查吗? malloc()是否有可能失败? 那么会发生什么? 在学校我们被告知我们应该检查,即: arr = (int) malloc(sizeof(int)*x*y); if(arr==NULL){ printf(“Error. Allocation was unsuccessful. \n”); return 1; } 有什么做法? 我可以这样做吗: if(!(arr = (int) malloc(sizeof(int)*x*y))