如何C语言创建一个字符串类型变量(How to create a string-type varia

2019-08-17 14:54发布

如何申报在C字符串变量?

背景

在我的追求学习的基础知识Ç ,我想端口我最老的一个的Python程序, 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

Lasty, 这个雅虎回答说,我不得不使用一种叫做character array 。 它被张贴在5年前,所以我认为有一个更好的办法。

编辑

我下面的教程C程序设计 。

Answer 1:

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

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

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


Answer 2:

在C语言中,你不能直接申报,如Java和其他语言的字符串变量。 你将不得不使用字符数组或指针来声明字符串。

char a[50];
printf("Enter your string");
gets(a);

要么

char *a;
printf("Enter your string here");
gets(a);

要么

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


Answer 3:

你把int是不是一个字符串,字符串看起来像“字符的myString [20]”。 不喜欢“INT名”,这是一个整数,而不是一个字符串或字符。 这是你想要的代码:

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

char name[9999];
printf("What is your name?\n");
scanf("%s", name);
system("cls");
printf("Your name is %s", name);

return 0;
}


Answer 4:

测试的XCODE

你可以这样做:

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

    int i;
    char name[60]; //array, every cell contains a character

    //But here initialize your array

    printf("What is your name?\n");
    fgets(name, sizeof(name), stdin);
    printf("Your name is %s", name );

    return 0;
}

初始化数组,是很好的避免错误

for(i=0;i<60;i++){
      name[i]='\0'; //null
}

代替int用于INT号(1,2,3,ECC); 对于浮点数,而不是必须使用float



Answer 5:

通常我们使用在scanf“&”但你不应该在这里之前变量“名”使用它。 因为“名”是一个字符数组。 当一个字符数组的名称时不使用的“[]”,则表示该数组的地址。



Answer 6:

更换INT名; 至 - 。 炭名称[60];

#include <stdio.h>
int main()
{
  char name[648];
  printf("What is your name?");

  scanf("%s", name);
  printf("Your name is %s", name );

  return 0;
}


文章来源: How to create a string-type variable in C