我只是想通过承认我是一个完整的编码初学者来开始这一点,而且这对我来说并不是直观的。
我尝试做的是编写一个简单的程序,让用户输入其全名,并输出其首字母。我试图遵循的逻辑是,由于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);
}
我知道这完全是一团糟,但我再次试图弄清楚退出是否最好,所以任何帮助都会受到赞赏。
提前致谢。
答案 0 :(得分:5)
我想要遵循的逻辑是,由于C中的字符串只是数组中的字符,因此应该是初始字符的字符将出现在'\ 0'值之后。
在C中,\0
表示字符串的结尾,所以你绝对不想寻找那个值。
让我们考虑逻辑。有人的缩写可能是:
- 即“Albus Percival Wulfric Brian Dumbledore” - &gt; “APWBD” -
所以你要循环遍历字符串,寻找:
'\0'
),在这种情况下,您将要停止。需要注意的边缘情况:
请不要气馁 - 我们都是初学者一次。这种想法并不总是直截了当,但答案最终会到来。祝好运!