[英]Asking a user to input their name and outputting their initials in C
我只是想通过承认自己是编码的完全初学者来开始这一点,而这并不是我直觉到的东西。
我想做的是编写一个简单的程序,让用户输入其全名,然后输出其首字母缩写。 我要尝试遵循的逻辑是,由于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中的字符串只是数组中的字符,因此应为首字母的字符将位于'\\ 0'值之后。
在C中, \\0
表示字符串的结尾,因此您绝对不想寻找该值。
让我们考虑一下逻辑。 某人的名字缩写可能是:
–即“ Albus Percival Wulfric Brian Dumbledore”->“ APWBD” –
因此,您将需要遍历字符串,查找以下其中一个:
'\\0'
),在这种情况下,您将要停止。 需要注意的边缘情况:
请不要气–-我们都是初学者。 这种想法并不总是直截了当的,但答案最终会到来。 祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.