gpt4 book ai didi

c - 要求用户输入他们的名字并在 C 中输出他们的首字母

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:27 25 4
gpt4 key购买 nike

我只是想通过承认我是一个完全的编码初学者来开始这件事,这不是我凭直觉就能想到的事情。

我想做的是编写一个简单的程序,让用户输入他们的全名,并输出他们的首字母。我试图遵循的逻辑是,由于 C 中的字符串只是数组中的字符,因此应该作为初始字符的字符将出现在 '\0' 值之后。

我不确定我的问题是逻辑问题还是将该逻辑转换为有效语法的问题,因此我们将不胜感激。

完整代码如下:

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

int main (void)
{

printf ("Please insert your name. \n");
string name = get_string();
//printf ("Your name is %s\n", name);
int x = 0;
char c = name [x];
while (c != '\0')
{
x++;
}
printf ("%c/n", c);

}

我知道这完全是一团糟,但我再次试图弄清楚是否最好退出,所以我们将不胜感激。

提前致谢。

最佳答案

The logic I'm trying to follow is that since strings in C are just characters in an array, the characters that should be an initial will come after the '\0' value.

在 C 语言中,\0 表示字符串的结尾,因此您绝对不想寻找该值。

让我们来思考一下其中的逻辑。某人的姓名首字母可能是:

  • 字符串中的第一个字符
  • 空格后的第一个字符

– 即“Albus Percival Wulfric Brian Dumbledore”->“APWBD”–

因此您需要遍历字符串,寻找:

  • 一个空格,在这种情况下你会想要捕获下一个字母,或者
  • 字符串的末尾 ('\0'),在这种情况下您将要停止。

需要注意的边缘情况:

  • 如果字符串为空会怎样?
  • 如果字符串以空格结尾会怎样? (如果您保证获得格式正确的输入,这可能不会发生)

请不要气馁——我们都曾是初学者。这种想法并不总是直截了当的,但答案最终会出现。祝你好运!

关于c - 要求用户输入他们的名字并在 C 中输出他们的首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com