antepost24   3년 전

itoa 함수 때문인걸까요 다 맞게 나오는거 같은데 어디가 틀린걸까요..

ghssh1   3년 전

itoa는 비표준입니다

sprintf를 써주세요

ghssh1   3년 전

그리고 런타임에러인지, 컴파일에러인지, 그냥 '틀렸습니다'인지 알려주셔야 빠르게 답변해드릴 수 있습니다

antepost24   3년 전

sprintf 로 고쳐써도 컴파일 에러라고 뜨네용..ㅠㅠ

djm03178   3년 전

고쳤으면 고친 코드 전체와 에러 메시지를 알려주셔야 합니다. 문제의 대부분은 그것을 썼다는 사실 자체가 아니라 "어떻게" 썼는가에 의해 발생합니다.

antepost24   3년 전


#include

int main(void){

int a,b,c,i,j,num;

char arr[50]={0,};

int count[10]={0,};

scanf("%d %d %d",&a,&b,&c);

num=a*b*c;

sprintf(arr,"%d",num);

for(i=0;arr[i]!='\0';i++){

for(j=0;j<10;j++){

if ((int(arr[i]-'0'))==j){

count[j]++;

}

}

}

for(i=0;i<10;i++){

printf("%d\n",count[i]);

}

return 0;

}

이렇게 적었습니당.. dev c 에서는 잘 돌아가는데 백준에선 컴파일 에러라고 뜨네요 

djm03178   3년 전

코드는 코드 올리는 칸에 올려주셔야 깨지지 않습니다.

C에서는 int(x)와 같은 표현을 지원하지 않습니다. C++에서만 되는 문법입니다. (int)(arr[i]-'0')로 고쳐주셔야 합니다.

참고로 컴파일 에러는 "컴파일 에러"라고 쓰인 곳을 클릭하면 에러 메시지를 볼 수 있습니다.

antepost24   3년 전

해결했습니다 정말 감사합니다ㅠㅠㅠ 에러 메세지 뜨는줄 모르고 있었네요..

댓글을 작성하려면 로그인해야 합니다.