如何在空格后打印某个特定字符和字符

时间:2017-10-26 01:48:24

标签: c cs50

我试图在没有查看其他人的代码的情况下解决这个问题,但我发现这非常困难。我认为,我知道如何迭代字符并打印这些字符。但我真的坚持如何只打印一个特定的,以及如何告诉它在空格后打印字符。我猜它的东西,如空格char + 1?

到目前为止,这是我所拥有的,但它并不多。

#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>


int main(void)
{
    // prompt user for name
    printf("What is your name? ");
    string s = get_string();
    if (s != NULL)
    {
        for (int i = 0; i < strlen[s]; i++)
        {
            printf("%c", s[0])
        }
    }
}

1 个答案:

答案 0 :(得分:0)

让我们解决这个问题,

  

迭代字符并打印这些字符

应该这样做:

    int main(void)
    {
    // prompt user for name
      printf("What is your name? ");
      char s[] = "blablabla";
      if (s != NULL)
       {
         for (int i = 0; i < strlen(s); i++)
         {
            printf("%c", s[i]);
         }
       }
     }
  

如何只打印一个

就像那样:

printf("%c", d[12]); // This will get the 13 (start at 0) char of d
  

如何告诉它在空格后打印字符

你的想法是要走的路!下面的代码将打印下一个char 实际的char是一个空格:

int main(void) {
char str[] = "This is a test";

  for (int forward = 0; forward < strlen(str); forward++) { 
     if (str[forward] == ' ' && str[forward + 1] != '\0')
        printf("%c", str[forward + 1]);
  }
}

将打印:iat

使用简单的 if 语句检查当前字符是否为空格下一个字符串不是字符串的结尾并打印下一个char是声明有效。