我试图在没有查看其他人的代码的情况下解决这个问题,但我发现这非常困难。我认为,我知道如何迭代字符并打印这些字符。但我真的坚持如何只打印一个特定的,以及如何告诉它在空格后打印字符。我猜它的东西,如空格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])
}
}
}
答案 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是声明有效。