c - 如何在C中创建一个字符串类型的变量

标签 c string variable-declaration

问题

如何在C语言中声明一个字符串变量?

背景

在我学习 基础知识的过程中,我正在尝试移植我最老的一个 程序,Bob,到 C。在程序中,脚本询问用户有关他或她自己的信息,然后吐出响应。几乎所有这些变量都使用 raw_input 作为它们的信息——变量是字符串。但是,我找不到声明 C 变量的方法。

代码

到目前为止,我已尝试将变量声明为 charint 类型。 这是代码,您可以随意切换类型。

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;
}

错误信息

当我运行这段代码时,Xcode 返回一些奇怪的东西。 globidty-gloop 的这一部分被突出显示。

0x7fff96d2b4f0:  pcmpeqb(%rdi), %xmm0

拉斯蒂,this Yahoo Answer说我必须使用一种叫做 character array 的东西。它是 5 年前发布的,所以我认为有更好的方法。

编辑

我正在学习 C Programming 上的教程.

最佳答案

char name[60];
scanf("%s", name);

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

char name[60];
scanf("%59s", name);

关于c - 如何在C中创建一个字符串类型的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420696/

相关文章:

variables - 在 Go var 声明中显式提供类型失败,而隐式工作

c - [USART-STM32F4xx] : How to wait until character arrives on Status Register (USART_SR)?

c - 使用指针获取数组的长度

c - 如何在结构数组中搜索字符串?

rust - 如何在函数之间共享静态变量?

javascript - 表达式中使用了未声明、未初始化的变量 : what to think?

c - 链接列表反向显示

c - 为什么 stdout 重定向适用于 put 而不是 write?

Python:你如何准确地获取一个字符串,将其拆分、反转并重新组合在一起?

Java - 如何检查字符串中的重复字符?