국제 네트워크에있는 컴퓨터의 숫자 주소 인 'Internet'에는 마침표로 구분 된 네 부분이 xxx.yyy.zzz.mmm 형식으로 있습니다. 여기서 xxx, yyy, zzz 및 mmm 양의 정수입니다. 일반적으로 컴퓨터는 대개 닉네임으로도 알려져 있습니다.런타임 오류가있는 문자열 비교 부분 디버깅
샘플 데이터
IP address Name
111.22.3.44 platte
555.66.7.88 wabash
111.22.5.66 green
0.0.0.0 none
컴퓨터의 쌍은 주소의 첫 두 구성 요소가 동일한 경우 동일한 지역에있는 것으로 말한다. 일부 컴퓨터의 세부 사항을 감안할 때 알고리즘을 설계하고 C 프로그램을 작성하여 동일한 지역의 각 컴퓨터 쌍을 식별하는 메시지 목록을 표시하십시오. 메시지에서 컴퓨터는 닉네임으로 식별해야합니다. 이 예에서 표시 할 메시지는 Machines platte이고 녹색은 동일한 로컬 네트워크에 있습니다.
#include<stdio.h>
#include<string.h>
void main()
{
int n,p,i,j;
char s[20][20],na[10][10];
scanf("%d",&n);
for(i=0;i < n;i++)
{
scanf("%s%s",s[i],na[i]);
p=0;
j=0;
while(p!=2)
{
j++;
if(s[i][j]=='.')
p++;
}
s[i][j]='\0';
}
for(i=0;i < n-1;i++)
for(j=i+1;j < n;j++)
if(strcmp(s[i],s[j])==0)
printf("Machines %s and %s are on the same local network",na[i],na[j]);
}
코드가 출력을 생성하지 않으며 (런타임 오류) 이유를 파악할 수 없습니다. EDIT : 컴파일러 오류 또는 경고가 없습니다. 그냥 실행하면 빈 출력 화면이 나타납니다.
이것은 C 코드이며 태그 만 달아야합니다. C++에는이 모든 것을 수행하는 더 좋은 방법이 있습니다. 또한'main'은'int'를 리턴해야합니다. C99는 구현 정의 된 반환 유형을 허용하지만 이식성을 위해서는'int'를 사용해야합니다. –
받고있는 오류 메시지를 제공해주십시오. –
EDIT : 컴파일러 오류 또는 경고가 없습니다. 그냥 실행하면 빈 출력 화면이 나타납니다. – Recurse