-
printf("%d",&i);它應該改為 printf("%d",i);
這是變數 i 的位址。 刪除位址字元是 i 的值。
希望能有所幫助。
-
修改如下**:
#include
int strcmp(char *,char *)int main()
char a[80],b[80];
int i =0;
printf("請輸入任意兩個字串");
scanf("%s,%s",a,b);
i=strcmp(a,b);
printf("%d",i);
system("pause");
int strcmp(char *str1,char *str2)int i;
for (i=0; *str1+i)!='\0'&&*str2+i)!='\0';i++)
if(*(str1+i)>*str2+i))return 1;
else if(*(str1+i)<*str2+i))return -1;
elsecontinue;
if (*str1+i)=='\0'&&*str2+i)=='\0')
return 0;
else if(*(str1+i)!='\0'&&*str2+i)=='\0')
return 1;
elsereturn -1;
-
i=strcmp(&a,&b);
相反。 i=strcmp(a,b);
printf("%d",&i);
相反。 printf("%d",i);
房東對這個位址還是有點含糊不清。
我不明白。
讓我們一起進步!
-
strcmp 函式用於兩個字串。
具體用法如下:
1. strcmp 函式接受兩個字串引數,並根據比較結果返回乙個 int 型別的值。
2. 如果返回結果的值小於 0,則表示 str1 字串小於 ASCII 碼上的 str2 字串。
3. 如果返回結果,則返回值。
如果大於 0,則 str2 字串小於 str1 字串。
4.只有當返回值為0時,兩個字串才相同。
您可以嘗試輸出,scanf 函式是從緩衝區讀取的資料,第二個字串的資料是空格或換行符製表符。 您可以單獨讀取它們,但在兩者之間新增 fflush(stdin); 清除緩衝區。
這似乎是低效的,但數量是最少的。
string str = "1212324"; >>>More