Ошибка сегментации в C, запутался, что происходит не так
При отправке кода его окончание приводит к ошибке сегментации , например переполнению стека
Что я уже пробовал:
#include<stdio.h> int main() { int twen=0,nine=0,other=0,n; char cd[1000]; scanf("%d",n); while(n--) { gets(cd); if(cd[0] == 'G') { for(int i=0;cd[i]!='\0';i++) { if((cd[i]=='1') && (cd[i+1] == '9')) { nine+=2; } else if((cd[i]=='2') && (cd[i+1] == '0')) { twen+=2; } else if((cd[i]>2) && (cd[i+1]<9)) { other+=2; } } } if(cd[0] == 'M') { for(int i=0;cd[i]!='\0';i++) { if((cd[i]=='1') && (cd[i+1] == '9')) { nine+=1; } else if((cd[i]=='2') && (cd[i+1] == '0')) { twen+=1; } else if((cd[i]>'2') && (cd[i+1]<'9')) { other+=1; } } } } if(nine>twen) printf("Date\n"); else if(other > twen || other > nine) printf("No Date\n"); else printf("No Date\n"); return 0; }
Patrice T
То, что должно быть входным сигналом.