Category Archives: C

Learning to program in C

Syntax with main( ) re: int

I’m using Cloud9 for my IDE and compiler to learn the C Programming Language.

Going through Schildt’s “Teach yourself C” which is copyrighted 1989. I’m thinking there has been a syntax update. When I entered the following code, I received an error.


#include “stdio.h”
main( )
printf(“This is a short C program.”);

Response with error:

warning: return type defaults to ‘int’ [enabled by default]
main( )
This is a short C program.


The program did run and displayed “This is a short C program.”, but looks like it added “int” in front of main ( ) for me.

Adding int in front of main ( )

#include “stdio.h”
int main( )
printf(“This is a short C program.”);

Running program again with no errors:

This is a short C program.

Process exited with code: 0

Followup needed:

Q: What change has happened since book was published?

Q: What current version of C is running inside Cloud9?
A: gcc -v
Actual Answer: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
pgarth:~/workspace $ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v –with-pkgversion=’Ubuntu 4.8.4-2ubuntu1~14.04′ –with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs –enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ –prefix=/usr –program-suffix=-4.8 –enable-shared –enable-linker-build-id –libexecdir=/usr/lib –without-included-gettext –enable-threads=posix –with-gxx-include-dir=/usr/include/c++/4.8 –libdir=/usr/lib –enable-nls –with-sysroot=/ –enable-clocale=gnu –enable-libstdcxx-debug –enable-libstdcxx-time=yes –enable-gnu-unique-object –disable-libmudflap –enable-plugin –with-system-zlib –disable-browser-plugin –enable-java-awt=gtk –enable-gtk-cairo –with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre –enable-java-home –with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 –with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 –with-arch-directory=amd64 –with-ecj-jar=/usr/share/java/eclipse-ecj.jar –enable-objc-gc –enable-multiarch –disable-werror –with-arch-32=i686 –with-abi=m64 –with-multilib-list=m32,m64,mx32 –with-tune=generic –enable-checking=release –build=x86_64-linux-gnu –host=x86_64-linux-gnu –target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)