c/c++语言开发共享如何在C中创建字符串类型变量

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

背景

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

到目前为止,我已经尝试将变量声明为charint.类型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; } 

错误信息

当我运行此代码时, Xcode返回一些奇怪的东西。 突出了这一部分的全球性。

 0x7fff96d2b4f0: pcmpeqb(%rdi), %xmm0 

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

编辑

我正在按照C编程的教程进行操作。

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

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

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

    你的put不是字符串,字符串看起来像“char myString [20]”。 不像“int name”,这是一个整数而不是字符串或char。 这是您想要的代码:

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

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

    初始化数组,最好避免bug

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

    int用于int数(1,2,3,ecc。); 对于浮点数,您必须使用float

    在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); 

    替换int名称; 至 – 。 char name [60];

     #include  int main() { char name[648]; printf("What is your name?"); scanf("%s", name); printf("Your name is %s", name ); return 0; } 

      以上就是c/c++开发分享如何在C中创建字符串类型变量相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562423.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐