【问题标题】:My small c program crashes我的小 c 程序崩溃了
【发布时间】:2012-11-26 07:59:54
【问题描述】:

这是一个程序,它应该在字符串中找到最常见的元素。但是当我输入一个字符串时它会崩溃。

#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;
}

【问题讨论】:

    标签: c string crash


    【解决方案1】:

    错误:格式“%s”需要“char *”类型的参数,但参数 2 有类型'int'

    这意味着你需要改变:

    printf("%s\n", a[k]);
    

    到:

    printf("%c\n", a[k]);
    

    因为a[k] 不是字符串,而是字符。另外为了获得更准确的输出,将 1 添加到 n 以考虑您正在扫描的字符(来自外循环):

    n=1; // instead of n=0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      • 2016-01-18
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      相关资源
      最近更新 更多