How to see output of C program in Linux or UNIX

last updated in Categories , , , , , , ,

I am a new user of Linux operating system but not to C programming language. At my university we are using Turbo C compiler under DOS/Windows XP to write and compile C programs. Under Linux I wrote a small program called test.c. How do I compile and see the output of C program in a Linux when using Fedora Linux?

Under Linux you need to use the cc/gcc (GNU project C and C++ compiler) command to compile a program written in C or C++. When you compile a program it generates an executable file called a.out.

Syntax

The syntax is:
gcc -o output-file program.c
OR
cc -o output-file program.c
OR
make program.c

Sample code

Here is a sample C code called test.c that I am going to compile using GNU C compiler:

/* Purpose: A simple program to get name and information about current kernel
 * using uname(2) on a Linux.
 * Author: Vivek Gite <https://www.cyberciti.biz>
 */
#include <sys/utsname.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/utsname.h>
 
int main(void){
	int i;
	struct utsname myname;
	i = uname(&myname); /* hold the structure */
	if ( i == 0 ){
		printf("Operating system name : %s\n",myname.sysname);
		printf("Node name : %s\n",myname.nodename);
		printf("Operating system release : %s\n",myname.release);
		printf("Operating system name : %s\n",myname.version);
		printf("Hardware identifier : %s\n",myname.machine);
	}
	else {
		 fprintf(stderr,"Oh no. uname(2) failed with %s\n", strerror(errno));
		 exit(1);
	}
	return 0;
}

Task: Compile program

To compile type the command:
$ gcc test.c
OR
$ cc test.c

Task: Execute program to see output

Above command will create a file called a.out. To see output of test.c program type:
$ ./a.out

Task: Compile to specific executable file

You can specify an execuable file name while compiling program itself:
$ gcc -o test test.c
OR
$ cc test.c -o test
OR
$ make test
Now execute the test program to see output of test.c on screen:
$ ./test
Sample outputs:

Fig.01: My test program in action
Fig.01: My test program in action

This entry is 13 of 13 in the Linux GNU/GCC Compilers Tutorial series. Keep reading the rest of the series:
  1. Ubuntu Linux Install GNU GCC Compiler and Development Environment
  2. Debian Linux Install GNU GCC Compiler and Development Environment
  3. CentOS / RHEL 7: Install GCC (C and C++ Compiler) and Development Tools
  4. Download and Install C, C++ Compiler on Red Hat Enterprise Linux 5 (RHEL)
  5. Mac OS X: Install GCC Compiler with Xcode
  6. Where is My Linux GNU C or GCC Compilers Are Installed?
  7. HowTo: Compile And Run a C/C++ Code In Linux
  8. RHEL / CentOS Linux Install Core Development Tools Automake, Gcc (C/C++), Perl, Python & Debuggers
  9. HowTo Compiling C Program And Creating Executable File Under a Linux / UNIX / *BSD
  10. How To Install ncurses Library on a Linux
  11. Linux Find Out What Compilers Are Installed or Available On The System
  12. Linux Find Out GNU gcc Compiler Version Used To Compile Running Kernel
  13. Howto see output of C program in Linux or UNIX

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

55 comment

      1. After written the program in c language
        To Compile that program in turboc click the ALT+F9
        To Run that program in turboc click the CTRL+F9

  1. Hi,
    from your site i came to know how to compile and see out put of program, but how to write c program in linux????I m a window user,so if anyone give me that ans i will be obliged.

    1. Use just have to do write ur program in gedit and save it with c extension…..
      U have to go In file right click then document then click empty document….
      Now u can write ur program this is gedit then save it filename.c extension…..

      Have…fun…..

  2. i search this site through google and find my answer on the topic … How can i run and compile program on gcc compiler?

  3. Thanks for this tip
    Plz also tell me how to enter the out put of one c program to another one plz send this at my email address.
    Thanks for this tip

  4. i am executing c program in fedora as gcc temp.c but it says that
    bash: gcc: command not found
    please tell how to run

  5. @bhargav:
    Update your YUM repo (in Fedora/ RHEL), thereafter
    run the following command as root:
    yum install gcc
    or simply write
    sudo yum install gcc
    have fun!

  6. I am successfully executing a C prg in Turbo C but i am getting a runtime error in gcc. Please help

  7. i m a new user for linux platform,may any body plz let me know how to code,compile etc a graphics application for c++ under linux platform ,,,,,( explain with example plz)

  8. I use Fedora 12 (live Cd).
    i created a c program in it and tried to execute.
    it says that no such command..
    how to eliminate this problem.
    Thanks

  9. I am sreedhar,i am doing MCA.I have interest to learn programming languages in linux operating system.so,what should i do.

  10. ha, of course. Thanks for posting this. Saved me an embarrassing question on some IRC channel or a forum.

  11. I have typed a hello world program in fedora.. But how should i get back to the terminal.what are the keys on keyboard that i hav t press and want commands to type so that my file is saved.

    1. Create ur file in edit n save the file with .c extension…..
      Then compile……then run….through commands

    1. Any language needs a compiler/interpreter.
      I can even run Turbo C++ on Linux.
      so, answer to your first question = no, but yes, it’s the most preferred compiler for any *nix Operating system.
      for second question = No.

  12. Please show me how to write a program in c that prints a file a screenfull at a time waiting for response from user.

  13. How about if i am making use of code block how do i get to see the output on the screen\

    Have a question? Post it on our forum!