题
如何在C中声明字符串变量?
背景
在我学习c的基础知识的过程中,我试图将我最古老的python程序Bob
之一移植到C.在程序中,脚本会询问用户有关他或她自己的信息,然后吐出响应。 几乎所有这些变量都使用raw_input
作为信息 – 变量是字符串。 但是,我发现无法声明C变量。
码
到目前为止,我已经尝试将变量声明为char
和int.
类型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