char ct是字符变量,而不是字符串变量!
请问用什么定义字符串变量
还有就是字符串不能用”==“比较的
那要用什么做比较??
谁帮我改改这个,我万分感激!!!
http://bbs.bc-cn.net/bbs/dispbbs.asp?boardID=44&ID=5100&page=1
char ct是字符变量,而不是字符串变量!
请问用什么定义字符串变量
还有就是字符串不能用”==“比较的
那要用什么做比较??
谁帮我改改这个,我万分感激!!!
http://bbs.bc-cn.net/bbs/dispbbs.asp?boardID=44&ID=5100&page=1
1, 使用字符数组,如: char StringArray[] = "I am a boy";
2, 使用字符指针 char *pString; 可以直接制向一个字符串 pString = "I am a boy"; 也可以申请自己的空间,然后把字符串通过strcpy函数拷贝进来,如: pString = (char *)malloc( (strlen("I am a boy") + 1) * sizeof(char) ); strcpy(pString, "I am a boy");
比较的话如2楼所说,使用strcmp函数.
char a[100]
用字符数组定义字符串
用“string.h"文件头中的
strcmp(串1,串2)比较,
相等时返回值为1
#include <string.h> #include <stdio.h>
int main(void) { char *buf1 = "aaa", *buf2 = "aaa";
printf("%d",strcmp(buf2, buf1));
}
你看看是多少?
strcmp函数的原码大至如下:
int strcmp(char *string1,char *string2)
{
while(*string1)if(*string1++!=*string2++)return *string1-*string2;
return 0;
}
所以,两串相同返回的是0,两串不同返回第一个不同之处的差值。
#include <string.h> #include <stdio.h>
int main(void) { char *buf1 = "aaa", *buf2 = "aaa";
printf("%d",strcmp(buf2, buf1));
}
你看看是多少?
strcmp函数的原码大至如下:
int strcmp(char *string1,char *string2)
{
while(*string1)if(*string1++!=*string2++)return *string1-*string2;
return 0;
}
所以,两串相同返回的是0,两串不同返回第一个不同之处的差值。
不好意思,记错了,谢谢大哥的提醒!