如何在C中创建字符串类型变量

xxm*_*exx 8 c string variable-declaration

如何在C中声明字符串变量?

背景

在我学习的基础知识的过程中,我试图将我最古老的程序之一移植Bob到C.在程序中,脚本会询问用户有关他或她自己的信息,然后吐出响应.几乎所有这些变量都raw_input用于它们的信息 - 变量是字符串.但是,我发现没有办法声明C变量.

到目前为止,我已经尝试将变量声明为类型char,int.这是代码,在您闲暇时切换类型.

int main(int argc, const char * argv[])
{

    int name;
    printf("What is your name?");
    scanf("%s",&name);
    printf("Your name is %s", name );

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误信息

当我运行此代码时,Xcode返回一些奇怪的东西.这部分的全球化 - 全球突出显示.

0x7fff96d2b4f0:  pcmpeqb(%rdi), %xmm0
Run Code Online (Sandbox Code Playgroud)

最后,雅虎答案说我不得不使用一种名为a的东西character array.它发布于5年前,所以我认为有更好的方法.

编辑

我正在按照C编程的教程学习.

Val*_*ouk 5

char name[60];
scanf("%s", name);
Run Code Online (Sandbox Code Playgroud)

编辑:将输入长度限制为59个字符(加上终止0):

char name[60];
scanf("%59s", name);
Run Code Online (Sandbox Code Playgroud)

  • 您确定是`scanf(“%59s”,name)`吗? (3认同)