What happens during the compilation and Linking process if the argument types are omitted(considering that the defined function takes arguments)? Will the compiler just mark the prototype with missing argument as a syntax error?
Edit
so I found out it builds and runs
#include<stdio.h>
float addf(a,b); // even without a,b it runs
int main(){
float input1 = 10.0;
float input2 = 20.0;
printf("%f + %f = %f", input1, input2, addf(input1, input2) );
getchar();
return 0;
}
float addf(float a, float b){
return a + b;
}
result : 10.000000 + 20.000000 = 2.562500
Any idea why is it executed this way?