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语言版本)