国产成人AV一区二区三区在线_国产成人精品无码免费看_国产成人无码无卡在线观看_国产精品成人A区在线观看_国产日韩精品欧美一区_国产亚洲精品自在久久蜜TV_久草热久草热线频97精品_久久久噜噜噜久久中文福利_久久婷婷五月综合色国产免费观看_日日狠狠久久偷偷色综合0,九一桃色在线观看,久久97精品久久久久久久不卡,国产成人精品亚洲精品

請(qǐng)問(wèn)為什么這個(gè)程序輸出都為1,與輸入s1和s2無(wú)關(guān)

訪客2025-01-21 21:05:551

#include<iostream>using namespace std;int Strcmp(char s1[],char s2[]){if(s1==s2)return 0;else if (s1>s2)return 1;else if(s1<s2)return -1;}int main(){char s1[100],s2[100];printf("請(qǐng)輸入數(shù)組s1:");gets(s1);printf("請(qǐng)輸入數(shù)組s2:");gets(s2);printf("-----字符串比較的結(jié)果------");printf("%d",Strcmp(s1,s2));return 0;}

數(shù)組比較,,要比較它的內(nèi)容的而不是直接比較它的變量(這個(gè)是地址)

你s1與s2直接比較,,因?yàn)閟1比s2先定義,s1>s2永遠(yuǎn)成立的,,與你輸入的內(nèi)容沒有任何關(guān)系的

如果你是

char s2[100],s1[100];

那結(jié)果永遠(yuǎn)是-1

所以你程序完全不對(duì)

以下參考(方法有多種的,,而實(shí)際庫(kù)函數(shù)用的是指針,,更簡(jiǎn)單、效率更高)

int Strcmp(char s1[],char s2[]){int s=0;for(int i=0; s1[i] && s2[i]; i++) {if (s1[i]>s2[i]) {s=1;break;} else {if (s1[i]<s2[i])s=-1;break;}}return s;}

文章評(píng)論