| 2 | 1/1 | 返回列表 |
| 查看: 811 | 回復(fù): 1 | |||
13659938271鐵蟲 (初入文壇)
|
[求助]
這個是gdb調(diào)試錯誤代表什么意思 已有1人參與
|
|
Program received signal SIGSEGV, Segmentation fault. 0x00684867 in __strcmp_sse4_2 () from /lib/libc.so.6 上面這句是什么意思 程序如下: 再沒有調(diào)用add_specie的時候可以運行,但是一旦調(diào)用就出現(xiàn)了段錯誤 #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX_LINE 500 #define MAX_REACTIONS 6046 #define MAX_SPECIES 5000 #define MAX_CHAR_SPECIES 32 void add_specie (char *new_specie, char *species[],int *n_species) { int i; if (strcmp (new_specie, "") == 0) return; for (i = 0; i < *n_species; i++) { if (strcmp (species, new_specie) == 0) return; } i = *n_species; if (i < MAX_SPECIES ) { if (strlen (new_specie) < MAX_CHAR_SPECIES - 1) { strcpy (species, new_specie); (*n_species)++; } } return; } int main() { //struct react reactions[MAX_REACTIONS]; const char *osu2009; FILE *f; char line[MAX_LINE]; int line_number=0; char reactant1[MAX_CHAR_SPECIES]; char reactant2[MAX_CHAR_SPECIES]; char reactant3[MAX_CHAR_SPECIES]; char product1[MAX_CHAR_SPECIES]; char product2[MAX_CHAR_SPECIES]; char product3[MAX_CHAR_SPECIES]; char product4[MAX_CHAR_SPECIES]; double alpha; double beta; double gamma; int reaction_type; int reaction_no; char *species[MAX_SPECIES]; int *n_species; if((f=fopen("osu2009.chm","r"))==NULL) { printf("can not open\n"); exit(0); } while(fgets(line,MAX_LINE,f)!=NULL) { line_number++; if (line[0]=='#') continue; strcpy (reactant1, ""); strcpy (reactant2, ""); strcpy (reactant3, ""); strcpy (product1, ""); strcpy (product2, ""); strcpy (product3, ""); strcpy (product4, ""); alpha = 0; beta = 0; gamma = 0; reaction_type = 0; //付初始值 reaction_no = 0; if ((sscanf (line, "%s -> %s %lf %lf %lf %d %d",reactant1, product1, &alpha, &beta, &gamma, &reaction_type, &reaction_no) == 7) ||(sscanf (line, "%s + %s -> %s + %s %lf %lf %lf %d %d",reactant1, reactant2, product1, product2,&alpha, &beta, &gamma, &reaction_type, &reaction_no) == 9) ||(sscanf (line, "%s + %s -> %s %lf %lf %lf %d %d",reactant1, reactant2, product1, &alpha, &beta, &gamma, &reaction_type, &reaction_no) == 8) ||(sscanf (line, "%s + %s -> %s + %s + %s %lf %lf %lf %d %d",reactant1, reactant2, product1, product2, product3,&alpha, &beta, &gamma, &reaction_type, &reaction_no) == 10) || (sscanf (line, "%s + %s -> %s + %s + %s + %s %lf %lf %lf %d %d",reactant1, reactant2, product1, product2, product3,product4,&alpha, &beta, &gamma, &reaction_type, &reaction_no) == 11) ||(sscanf (line, "%s + %s + %s -> %s + %s %lf %lf %lf %d %d",reactant1, reactant2, reactant3, product1, product2,&alpha, &beta, &gamma, &reaction_type, &reaction_no) == 10)); if ((strcmp (reactant1, "cosmic-ray") == 0) || (strcmp (reactant1, "uv-photon") == 0) || (strcmp (reactant1, "photon") == 0)) { strcpy (reactant1, reactant2); strcpy (reactant2, reactant3); strcpy (reactant3, ""); } if ((strcmp (reactant2, "cosmic-ray") == 0) || (strcmp (reactant2, "uv-photon") == 0) || (strcmp (reactant2, "photon") == 0)) { strcpy (reactant2, reactant3); strcpy (reactant3, ""); } if ((strcmp (reactant3, "cosmic-ray") == 0) || (strcmp (reactant3, "uv-photon") == 0) || (strcmp (reactant3, "photon") == 0)) { strcpy (reactant3, ""); } if ((strcmp (product1, "cosmic-ray") == 0) ||(strcmp (product1, "uv-photon") == 0) || (strcmp (product1, "photon") == 0)) { strcpy (product1, product2); strcpy (product2, product3); strcpy (product3, product4); strcpy (product4, ""); } if ((strcmp (product2, "cosmic-ray") == 0) || (strcmp (product2, "uv-photon") == 0) || (strcmp (product2, "photon") == 0)) { strcpy (product2, product3); strcpy (product3, product4); strcpy (product4, ""); } if ((strcmp (product3, "cosmic-ray") == 0) || (strcmp (product3, "uv-photon") == 0) || (strcmp (product3, "photon") == 0)) { strcpy (product3, product4); strcpy (product4, ""); } if ((strcmp (product4, "cosmic-ray") == 0) || (strcmp (product4, "uv-photon") == 0) || (strcmp (product4, "photon") == 0)) { strcpy (product4, ""); } add_specie (reactant1, species, n_species); add_specie (reactant2, species, n_species); add_specie (reactant3, species, n_species); add_specie (product1, species, n_species); add_specie (product2, species, n_species); add_specie (product3, species, n_species); add_specie (product4, species, n_species); // printf("reactant1:%s reactant2:%s reactant3:%s product1:%s product2:%s product3:%s product4:%s alpha:%.2e beta:%.2e gamma:%e reaction_type:%d reaction_no: %d\n",reactant1,reactant2,reactant3,product1,product2,product3,product4,alpha,beta,gamma,reaction_type,reaction_no); } fclose(f); return 0; } |

金蟲 (小有名氣)

| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 學(xué)碩274求調(diào)劑 +9 | Li李魚 2026-03-26 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 本科新能源科學(xué)與工程,一志愿華理能動285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研] 材料與化工272求調(diào)劑 +9 | 阿斯蒂芬2004 2026-03-28 | 9/450 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +9 | 一定上岸aaa 2026-03-27 | 13/650 |
|
|
[考研] 283求調(diào)劑 +7 | A child 2026-03-28 | 7/350 |
|
|
[考研] 311求調(diào)劑 +3 | 希望上岸阿小楊 2026-03-23 | 3/150 |
|
|
[考研] 275求調(diào)劑 +10 | jjjjjjjjjjl 2026-03-27 | 10/500 |
|
|
[考研] 一志愿211院校 344分 東北農(nóng)業(yè)大學(xué)生物學(xué)學(xué)碩,求調(diào)劑 +5 | 丶風(fēng)雪夜歸人丶 2026-03-26 | 8/400 |
|
|
[考研] 07化學(xué)280分求調(diào)劑 +10 | 722865 2026-03-23 | 10/500 |
|
|
[考研] 314求調(diào)劑 +3 | 溪云珂 2026-03-26 | 3/150 |
|
|
[考研]
材料學(xué)碩,求調(diào)劑
6+5
|
糖葫蘆888ll 2026-03-22 | 10/500 |
|
|
[考研] 一志愿河工大 081700 276求調(diào)劑 +4 | 地球繞著太陽轉(zhuǎn) 2026-03-23 | 4/200 |
|
|
[考研] 一志愿 南京郵電大學(xué) 288分 材料考研 求調(diào)劑 +3 | jl0720 2026-03-26 | 3/150 |
|
|
[考研] 一志愿哈工大,085400,320,求調(diào)劑 +4 | gdlf9999 2026-03-24 | 4/200 |
|
|
[考研] 求調(diào)劑 +3 | 李李不服輸 2026-03-25 | 3/150 |
|
|
[考研] 086003食品工程求調(diào)劑 +6 | 淼淼111 2026-03-24 | 6/300 |
|
|
[考研] 318求調(diào)劑 +3 | plum李子 2026-03-23 | 3/150 |
|
|
[基金申請] 請教下大家 2026年國家基金申請是雙盲審嗎? +3 | lishucheng1 2026-03-22 | 5/250 |
|
|
[考研] 335求調(diào)劑 +4 | yuyu宇 2026-03-23 | 5/250 |
|
|
[考研] 280分求調(diào)劑 一志愿085802 +4 | PUMPT 2026-03-22 | 7/350 |
|