簡體   English   中英

我的小型C程式當機

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM