[英]My small c program crashes
這是應該在字符串中找到最常見元素的程序。 但是當我輸入一個字符串時它崩潰了。
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(){
char a[100];
scanf("%s", a);
int max=0,n,k;
int urt = strlen(a);
for(int i=0; i<urt-1; i++){
n=0;
for(int l=i+1; l<urt; l++){
if(a[i]==a[l]) n++;
}
if(max<n){
max=n;
k=i;
}
}
printf("%s\n", a[k]);
printf("%d", max);
getch();
return 0;
}
錯誤:格式為'%s'的參數類型為'char *',但是參數2的類型為'int'
這意味着您需要更改:
printf("%s\n", a[k]);
至:
printf("%c\n", a[k]);
因為a[k]
不是字符串,而是字符。 同樣,為了獲得更准確的輸出,請在n上加1以考慮您正在掃描的字符(從外部循環):
n=1; // instead of n=0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.