在C中的同一行写入2个字符串

时间:2013-09-12 22:21:31

标签: c cstring

所以我想让hello.c程序在一行上写下名字和姓氏,所以在这种形式下,但是当我在这个当前表单中运行我的程序时,它给出了错误“预期â)â”之前字符串常量“我想我已经删除了其余代码,因为我删除了该行并运行它并且它可以工作。所以我只想问一下如何获得我已经指出过的2个字符串就行了。

这是我的代码

#include <stdio.h>
int main()
{
  char firstname[20];
  char lastname[20];
  printf("What is your firstname?");
  scanf("%s", firstname);
  printf("What is your lastname?");
  scanf("%s", lastname);
  printf("Hello %s\n", firstname "%s", lastname);
  printf("Welcome to CMPUT 201!");
  }

2 个答案:

答案 0 :(得分:6)

你想要

printf("Hello %s %s\n", firstname, lastname);

而不是

printf("Hello %s\n", firstname "%s", lastname);

答案 1 :(得分:1)

#include<stdio.h>
#include<string.h>

int main()
{
    char first_name[20] = " ", last_name[20] = " ", full_name[40] = " ";
    printf("What is your firstname?\n");
    scanf("%s", first_name);
    printf("What is your lastname?\n");
    scanf("%s", last_name);
    sprintf(full_name,"%s %s",first_name, last_name);
    printf("name is %s\n",full_name);
    return 0;
}

我使用sprintf显示了相同的内容。

1)同样在你的程序中你没有返回任何东西,如果不想返回任何东西使它成为void函数。当你编写int函数时,总是让它成为一个habbit来返回整数。

2)另外,当你编写printf函数时,总是习惯添加\ n(新行),以便输出看起来不错

快乐的编码。