【问题标题】:How would I get the last printf statement here to print both the output of x and y the user inputs?我如何在这里获得最后一个 printf 语句来打印用户输入的 x 和 y 的输出?
【发布时间】:2021-12-09 10:14:02
【问题描述】:

(顺便说一句,我对 C 很陌生) 我当前的代码

#include <stdio.h>

char main()
{
    char x;
    printf("Please enter your first initial:",x);
    scanf("%c",&x);

    char string[100];

    char y;
    printf("Please enter your last name:",y);
    scanf("%s",&y);

    printf("Hello I am %c %s. Nice to meet you.",x,y);

    return 0;
}

【问题讨论】:

  • %s 用于读取字符串。您不能将其用于单个 char
  • 在下面的重点答案中添加一些小项目。前两个printf 语句有第二个参数(xy)实际上并不需要,因为没有% 标记可供它们插入;删除它们。此外,main 不应该有类型 char - 使用 int 代替。

标签: c printing char scanf stdio


【解决方案1】:

您不能使用带有%s scanf 格式的char 值。它读取一个以空值结尾的字符串,而char 没有空值终止符的位置。

将姓氏读入string 变量,然后使用它。

char string[100];
printf("Please enter your last name:)";
scanf("%99s", string);

printf("Hello I am %c %s. Nice to meet you.", x, string);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2023-02-09
    • 2021-06-01
    • 1970-01-01
    相关资源
    最近更新 更多