코드 :어디 인수는 매개 변수
foo()
{
}
int main()
{
int a=20;
a = foo(20);
printf("\n\n\t A : %d",a); // will print zero.
}
질문 :
당신은 foo에 대한 반환이 존재하지 않는 것을 알 수 있습니다(). 그리고 그것은 'int'로 간주되는 입니다, 왜? 왜이 '암시 적 int'규칙인가? 왜 C의 디자이너들은 'int'를 너무 좋아 했나요?
foo()에는 매개 변수 선언이 없으므로 가변 인수 인수 수는 입니다. 그렇다면 전달 된 인수는 어디로 이동합니까? 예 : foo (20) 20은 어디로 갔습니까?
위의 예에서 printf는 0을 인쇄하지만 그 이유는 무엇입니까?
지금 생각해
이제foo()
{
}
int main()
{
int a=20;
a = foo(a);
printf("\n\n\t A : %d",a); // It'll print 20.
}
- printf와 인쇄 (20) 이전처럼 왜 안 0?
컴파일러 경고를 표시합니다. –