C program to print a string
C program to print a string using various functions such as printf, puts. It terminates with ‘\0’ (NULL character), which is used to mark the end of a string. Consider the following code:
Output:
Hi there! How are you doing?
The string which is passed as an argument to the printf function is printed. Next, we will learn how to print a string that is stored in a character array.
#include <stdio.h>
int main()
{
char z[100] = “I am learning C programming language.”;
printf(“%s”, z); // %s is format specifier
return 0;
}
Output:
I am learning C programming language.
To input a string, we can use scanf and gets functions.
C programming code
#include <stdio.h>
int main()
{
char array[100];
printf(“Enter a string\n“);
scanf(“%s”, array);
printf(“Your string: %s\n“, array);
return 0;
}
Output:
Enter a string
We love C.
Your string: We
Only “We” is printed because function scanf can only be used to input strings without any spaces, to input strings containing spaces use gets function.
Input string containing spaces
#include <stdio.h>
int main()
{
char z[100];
printf(“Enter a string\n“);
gets(z);
printf(“The string: %s\n“, z);
return 0;
}
Enter a string
Practice makes a person perfect.
The string: Practice makes a person perfect.
Print a string using a loop: We can print a string using a while loop by printing individual characters of the string.
#include <stdio.h>
int main()
{
char s[100];
int c = 0;
gets(s);
while (s[c] != ‘\0‘) {
printf(“%c”, s[c]);
c++;
}
return 0;
}
You can also use a for loop:
printf(“%c”, s[c]);
C program to print a string using recursion
#include <stdio.h>
void print(char*);
int main() {
char s[100];
gets(s);
print(s);
return 0;
}
void print(char *t) {
if (*t == ‘\0‘)
return;
printf(“%c”, *t);
print(++t);
}