C 编程 : Name arranger! 编码新手?

标签 c char getchar

这里完全是新手。我的编程入门类(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/

相关文章:

c - 有没有办法回到 typedef 枚举的字符串?

c - getchar 不等待用户输入

c - 在哪里使用这个 while 循环?

带字符串操作的 C EXC_BAD_ACCESS

c - 如何捕获 GTK 窗口并将其写入 PNG 文件?

C 什么时候 char** 应该以 null 终止?

c# - 这是什么字符? 65279 ''

c - 当我尝试存储一个字符时,它会将其存储为整数。有没有办法来解决这个问题?

c - 我正在使用 while 循环来一一输入字符(要输入的字符总数未知)。如何将我的字符存储在数组 : 中

c - 将数组打印为字符串在末尾返回奇怪的字符