当前位置:编程学习 > C/C++ >>

c语言怎么才能定义字符串来编写程序?

追问:{int a,b;
printf("I am Yuelao\n");
printf("As long as you tell me your name \n");
printf("I will tell your lover who is \n");
printf("please input your name:\n");
scanf("%s",&a);
if (a=="wuaichun") b="caichangjun";
else b="ff";
printf("your lover is %s\n",b);}

怎么样才能让这程序的if语句生效

答案:您好:      C语言本身是没有设置一种类型来定义字符串变量的,字符串的存储完全依赖于字符数组,但字符数组又不等于是字符串变量。在字符型一维数组存放字符串,并规定以字符'\0'作为字符串结束标志。'\0'占用存储空间,但又不记入串的实际长度。如一个字符串常量:"hello",该常量给出的地址值:char *p,s[10];如果s="hello"则是错误的,正确的应该为:p="hello";常用的定义字符串的方式有以下几种:一、定义一维字符数组变量以表示字符串1、用一般数组赋初值方式给一维字符数组初值比较:  char str[10]={'a','b','c','\0\};  char str[]={'a','b','c','\0'}; //实际是str[4]  char str[]={'a','b','c'};//实际是str[3],是字符数组不是字符串2、在赋初值时直接赋字符串常量  char str[10]={"string!"};或:char str[10]="string!";但   char str[7]="string!";可能破坏其他数据 二、利用指针char *pstr;       还是上面的那个char str[10]="string!";这里给pstr赋值应该为:pstr=str;       如果你想在堆区开辟空间来存放这个数组,那你就要用到malloc函数来获取空间。pstr=malloc(sizeof(char)*100);

没有字符串变量

 

可以使用字符数组,或指针使用字符串数据。

char a[]={"a","b"};

或者

char *a="ab";

上一个:如何快速掌握电脑C语言,编程??
下一个:函数指针中的回调函数(C语言版本)

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,