输入两个字符串分别存入两个一维字符数组,比较这2个字符串是否相等。要求用指向一维字符数组的指针变量来处理其中的字符串。请用下列两种方法编写程序:使用系统函数中的字符串比较函数strcmp()和不使用系统函数中的字符串比较函数strcmp()。
输入两个字符串分别存入两个一维字符数组,比较这2个字符串是否相等。要求用指向一维字符数组的指针变量来处理其中的字符串。请用下列两种方法编写程序:使用系统函数中的字符串比较函数strcmp()和不使用系统函数中的字符串比较函数strcmp()。
【正确答案】:方法一: 使用strcmp() #include main() {char sl[81],s2[81],*pl,*p2; int d; gets(s1); gets(s2); pl=sl;p2=s2;/*pl指向s1,p2指向s2*/ d=strcmp(pl,p2); printf("%d\n",d); if(d==0)prinff("输入的两个字符串相等\n"); } 方法二: 不使用strcmp() main() {char sl[81],s2[81],*p1,*p2; int d,i,flag=1;/*flag设为标记变量*/ gets(s1);gets(s2); pl=sl;p2=s2; i=0; while(*(p1+i)==*(p2+i)) if(*(p1+i++)=='\0')flag=0;; if(flag==1)d=(*(p1+i)-*(p2+i)); else d=0; printf("%d\n",d); }
Top