입력 (명령 줄 인수)에서 일련의 숫자를 읽고 해당 발생 횟수를 인쇄하고 발생 횟수가 가장 많은 숫자에 대한 발생 횟수를 인쇄하려면이 프로그램을 작성했습니다 시퀀스 내에서.이 프로그램을 수정하고 개선하는 방법
발생 횟수를 알려주는 방법을 모르겠습니다. 또한이 코드는 작동하지 않습니다. 누구든지 나를 도울 수 있습니까? 이 코드를 수정하고 발생을 찾기 위해 개선해야합니다.
구조를 사용하지 않고이 코드를 작성할 수있는 간단한 방법이 있습니까?
#include<stdio.h>
void main(int argc, char* argv[])
{
struct numbers
{
int value;
int index;
};
struct numbers num[201];
int i,j,k=0,l,m,counter;
for(i=1; i<argc; i++)
{
for(j=i+1; j<argc; j++)
{
if (atoi(argv[i])==atoi(argv[j]))
{
counter ++;
}
}
num[k].value = argv[i];
num[k].index = counter;
k++;
}
int max;
for (l=1; l<sizeof(num); i++)
{
max = num[0].index;
for(m=l+1; m<sizeof(num); m++)
{
if(num[m].index > max)
{
max = num[m].index;
}
}
}
printf("%d",max);
}
_ "이 코드는 작동하지 않습니다"아닙니다
아래 코드는 다음의 아주 기본적인 구현 문제 설명. 왜 안돼? 무슨 일이 일어날 것인가? 대신에 무슨 일이 일어난거야? 어떤 정확한 오류 메시지를 받았습니까? 입력 및 원하는 출력의 예는 무엇입니까? –
구조체 번호 num [201]; unguarded num [k] .index = counter; 매우 위험합니다. argc가 201보다 클 때마다 배열 오버 플로우가 발생합니다 – Eresse