【发布时间】:2017-09-02 04:21:29
【问题描述】:
我只是想通过承认我是编码的初学者来开始这件事,而且这不是我凭直觉就能想到的。
我要做的是编写一个简单的程序,让用户输入他们的全名,并输出他们的首字母缩写。我试图遵循的逻辑是,由于 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);
}
我知道这完全是一团糟,但我再次试图弄清楚是否最好退出,所以任何帮助都将不胜感激。
提前致谢。
【问题讨论】:
-
嘿,欢迎!请不要放弃——我知道一开始可能会非常困难,但最终你会明白的。看起来你在这里有了一个好的开始。继续加油!
-
"因为 C 中的字符串只是数组中的字符" 对。但是您想要的首字母很可能是 first 字符。 (在我的名字
"Steve"作为C字符串中,第一个字符是S,'\0'之前的字符是e,我们不能说什么是正确的之后'\0'.) -
为简单起见,我建议将人的名字、姓氏和中间名作为单独的字符串。一旦你开始工作,你就可以尝试从一个字符串中提取全名的首字母。