我剛開始學習C編程和練習,我發現一個任務。首先,我必須掃描兩個字符串。然後,我必須逐字比較它們,如果有任何相同的字符,我必須打印出相同字符的數量。 它必須用指針來完成。因此,讓我有「船」和「船」,所以程序將返回0.但如果它是「船」和「肥皂」它將返回2.c檢查兩個字符串爲相同的字符
這是我迄今爲止,但當我運行它會給我錯誤。我把錯誤置於評論中。
在此先感謝您的幫助。
#include <stdio.h>
#include <string.h>
int number_of_same_characters(char *, char *);
int main()
{
char * first[100];
char * second[100];
int result = 0;
printf("Enter first string\n");
gets(*first);
printf("Enter second string\n");
gets(*second);
result = number_of_same_characters(*first, *second);
printf("%d\n", result);
return 0;
}
int number_of_same_characters(char *p, char *q){ //i get this error here - error: invalid type argument of unary ‘*’ (have ‘int’)
int counter = 0;
for(int j = 0; *p[j] != '\0' || *q[j] != '\0'; ++j){ //i get this error here - error: invalid type argument of unary ‘*’ (have ‘int’)
if(strcmp(*p[j], *q[j])){
++counter;
}
}
return counter;
}
'字符*第一個[100];' - >'炭第一[100]; ' - >'獲取(第一)' - >'number_of_same_characters(第一,第二)' - > ...等 – BLUEPIXY 2014-09-28 15:46:26
['gets' is evil](https://www.gnu.org/software/的libc /手動/ html_node /線路Input.html#指數得到)。不要使用它。 – 5gon12eder 2014-09-28 15:49:14