这里完全是新手。我的编程入门类(class)的第二天,所以要温柔。顺便说一句,我们正在用 C 编程。
我们的任务是提示用户以以下格式给我们提供一个名字:John Smith,然后像这样将其打印回给他们;史密斯,J.
更令人头疼的是,无论有多少空格,程序仍然必须执行。即约翰/n 史密斯、约翰/t 史密斯和约翰/0 史密斯..
这是我到目前为止所拥有的,
#include <stdio.h>
int input()
{
printf("Enter your name: \n");
int lettest = getchar ();
return (lettest);
}
void fname()
{
int lettest;
if (lettest != EOF || '\n' || '\t' || ' ')
{
printf("%c.", lettest);
lettest = getchar();
}
else;
}
void lname()
{
int lettest;
if (lettest != EOF || '\n' || '\t' || ' ')
{
printf("%c.", lettest);
lettest = getchar();
}
else;
}
int main () {
input();
lname();
//fflush(stdin);
fname();
return 0;
}
我的问题:当它从同一个缓冲区读取两个名字时,我不知道如何打印姓氏..
有人可以向我解释一下我将如何执行我的 lname 函数吗???另外,没有数组列表和字符串方法。
最佳答案
请注意,除了其他答案中提到的问题外,还可以使用以下表达式:
if (lettest != EOF || '\n' || '\t' || ' ')
不要按照您期望的方式行事 - 您需要将此特定示例编写为:
if (lettest != EOF && lettest != '\n' && lettest != '\t' && lettest != ' ')
或者也许更形象地说:
if (!(lettest == EOF || lettest == '\n' || lettest == '\t' || lettest == ' '))
关于C 编程 : Name arranger! 编码新手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835589/