Write a C program to print “Geeks for Geeks” without using a semicolon

First of all we have to understand how printf() function works. Prototype of printf() function is:

int printf( const char *format , ...)

Parameter

  • format: This is a string that contains a text to be written to stdout.
  • Additional arguments: … (Three dots are called ellipses) which indicates the variable number of arguments depending upon the format string.

printf() returns the total number of characters written to stdout. Therefore it can be used as a condition check in an if condition, while condition, switch case and Macros. Let’s see each of these conditions one by one.

  1. Using if condition: 

C




#include<stdio.h> 
int main() 
    if (printf("Beginner for Beginner") ) 
    { } 


Time Complexity: O(1)
Auxiliary Space: O(1)

          2. Using while condition: 

C




#include<stdio.h> 
int main(){ 
    while (!printf( "Beginner for Beginner" )) 
    { } 


Time Complexity: O(n)
Auxiliary Space: O(1)

           3. Using switch case: 

C




#include<stdio.h> 
int main(){ 
    switch (printf("Beginner for Beginner" )) 
    { } 
}


Time Complexity: O(1)
Auxiliary Space: O(1)

         4. Using Macros: 

C




#include<stdio.h> 
#define PRINT printf("Beginner for Beginner") 
int main() 
    if (PRINT) 
    { } 


Time Complexity: O(1)
Auxiliary Space: O(1)

Output: Beginner for Beginner

One trivial extension of the above problem: Write a C program to print “;” without using a semicolon 

c




#include<stdio.h> 
int main() 
// ASCII value of ; is 59 
if (printf("%c", 59)) 


Output: ;

Time Complexity: O(1)

Auxiliary Space: O(1)

This blog is contributed by Shubham Bansal.



Contact Us