include <stdio.h> int strcmp(char *s1, char *s2){ while((*s1++ == *s2++)&& *s1);return (*s1 - *s2);} void main(){ char a[10], b[10];gets(a);gets(b);printf("%d\n", strcmp(a, b));}
strcmp 原型:extern int strcmp(char *s1,char * s2);用法:#include <string.h> 功能:比较字符串s1和s2。说明:当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 传入的是地址,strcmp(p[i],p[i+1])参考资料:http://baike.baidu.com/view/1026924.html?wtp=tt ...
3. 若有说明int a[ ]={ 1,2,3,4};则对a数组元素的正确引用是( A、C )。A.a[0] B. a[3.5] C. a[2-1] D. a[4]4. 若有说明char s1[80],s2[80]; 则正确的输出形式是( A、D )。A.puts(s1),puts(s2); B.puts(s1,s2); C.putchar(s1,...
意思是s值是0,i的值从1到10递增,每递增一次就进行一次加法:1、s = 0+1 s=1 2、s = 1+2 s=3 3、s = 3+3 s=6 for i = 1 to 10 step 3是指i分别=1,4,7,10 利用s=s+i 即当i=1时,s=0+1=1;i=4,s=1+4=5;i=7,s=5+7=12;i=10,s=10+12=22。s=4 i=9...
现在我们要调用一个跟字符串有关的函数,并且希望将s1中的后部分“World”传递进去。那我们是不是需要新声明一个字符数组s2,赋值为“World”,然后再把s2传进去呢?当然不用。其实这里s1本身是“HelloWorld”中第一个字符的地址(相信所有C系语言教程都会讲这一点)。那么s1+1、s1+2...呢?当然...
示例代码如下:include"stdio.h" #include"string.h"char *insert(char *s1,char *s2,int f) { char s3[80];int a,i,j;if(*(s1+f-1)!='\0') { for(i=0;i<f;i++)s3[i]=*(s1+i);else return s1;a=strlen(s2);for(j=0;j<a;j++)s3[i++]=*(s2+j);for(j=f;j...
if(!*s1 && !*s2)return 1;return 0;}int main(void){char s1[100];char s2[100];printf("请输入两行字符串:\n");while (scanf("%s%s",s1,s2)==2){if(xiangdeng(s1,s2))printf("相等!\n");else printf("不相等!\n");printf("请输入两行字符串:\n");}return 0;} ...
这就涉及到传值和传引用的问题了。 对于String类型来说 用==比较的是两个字符串所指向的地址,因为这两个变量不是指向同一个地址,所以他们两个==当然是false了,而equals是比较两个变量的值,两个变量的值都是java字符串 当然是一样的了 ...
char代表参数类型为字符型 char *代表字符类型为字符型的指针(即s1、s2为指针指向一个字符型的内存空间的首地址)前面加上const修饰,代表这个s1和s2不可修改
if(strcmp(s1,s2)==0) 。cmp是compare的缩写,比较的意思,==0表示两个字符串相等。strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值。比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右...