21xrx.com
2024-12-22 23:46:49 Sunday
登录
文章检索 我的文章 写文章
打印字符串的C程序
2021-07-07 07:31:24 深夜i     --     --
C

C 程序使用各种函数(如 printf、puts)打印字符串。 考虑以下代码:

printf("Hi there! How are you doing?");

输出:Hi there! How are you doing?

printf 函数打印传递给它的参数(一个字符串)。 接下来,我们将看到如果它存储在字符数组中,如何打印它。

#include <stdio.h>


int main()
{
   char z[100] = "I am learning C programming language.";

   printf("%s", z); // %s is format specifier

   return 0;
}

输出:I am learning C programming language.

 

要输入字符串,我们可以使用 scanf 和 gets 函数。

C程序

#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

只打印“We”,因为函数 scanf 只能用于输入没有空格的字符串,输入包含空格的字符串使用 get 函数。

 

包含空格的输入字符串

#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.

使用循环打印字符串

我们可以通过一次打印一个字符来使用循环打印一个字符串。 它以 '\0'(NULL 字符)结尾,这标志着它的结束。
 

#include <stdio.h>


int main()
{
   char s[100];
   int c = 0;

   gets(s);

   while (s[c] != '\0') {
      printf("%c", s[c]);
      c++;
   }

   return 0;
}

您还可以使用 for 循环:

for (c = 0; s[c] != '\0'; c++)
   printf("%c", s[c]);

使用 do-while 循环:
 

#include <stdio.h>


int main()
{
   char s[100];

   int c = 0;

   gets(s);
   
   if (s[c] != '\0') { // Used to check empty string
     do {
       printf("%c", s[c]);
       c++;
     } while (s[c] != '\0');
   }
   return 0;
}

使用递归打印字符串的C程序

#include <stdio.h>


void print(char*);

int main() {
   char s[100];
   gets(s);
   print(s);
   return 0;
}

void print(char *t) {
   if (*t == '\0') // Base case
      return;
   printf("%c", *t);
   print(++t);
}

 

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复