'What does warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main(){ mean?
#include <stdio.h>
#include <string.h>
int k;
double sin() ,cos();
main(){
float A=0, B=0, i, j, z[1760];
char b[1760];
printf("\x1b[2J");
for(; ; ) {
memset(b,32,1760);
memset(z,0,7040);
for(j=0; 6.28>j; j+=0.07) {
for(i=0; 6.28 >i; i+=0.02) {
float sini=sin(i),
cosj=cos(j),
sinA=sin(A),
sinj=sin(j),
cosA=cos(A),
cosj2=cosj+2,
mess=1/(sini*cosj2*sinA+sinj*cosA+5),
cosi=cos(i),
cosB=cos(B),
sinB=sin(B),
t=sini*cosj2*cosA-sinj* sinA;
int x=40+30*mess*(cosi*cosj2*cosB-t*sinB),
y= 12+15*mess*(cosi*cosj2*sinB +t*cosB),
o=x+80*y,
N=8*((sinj*sinA-sini*cosj*cosA)*cosB-sini*cosj*sinA-sinj*cosA-cosi *cosj*sinB);
if(22>y&&y>0&&x>0&&80>x&&mess>z[o]){
z[o]=mess;
b[o]=".,-~:;=!*#$@"[N>0?N:0];
}
}
}
printf("\x1b[d");
for(k=0; 1761>k; k++)
putchar(k%80?b[k]:10);
A+=0.04;
B+= 0.02;
}
}
Hi, I have been trying to get this code to work for a while but have no idea what's going on. Every time I compile it I get this warning. I tried changing it to Int Main() but that didn't work either. Its supposed to print a donut on my terminal window. Not very familiar with C so it could be a dumb mistake. Thanks in advance for your help
'donut.c:5:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main(){
^
1 warning generated.
Solution 1:[1]
The compiler warning tells you that you did not specify a type for the return value of your main() function.
Because of that the compiler assumes the default int.
This, by sheer luck, is the correct return type for that function.
In the simplest case use
int main(void)
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Yunnosch |
