获得C中的"最高"字符

Pet*_*Pan -1 c printf for-loop

我试图写一个程序,它获得了一个人进入的最高性格.我制作了一个程序,它可以获得最高数量的工作,没有任何问题但是字符不起作用.这是我的代码:

#include <stdio.h>
#include <string.h>

int main(int argc, const char * argv[]) {
    char characters[5];
    char highest = "a";

    printf("Please enter five characters: \n");
    for (int i = 0; i <= 4; i+=1) {
        scanf("%c", characters[i]);
    }

    printf("These are the characters you entered: ");

    for (int i = 0; i <= 4; i+=1) {
        printf("%c  ", characters[i]);
    }

    for (int i = 0; i <= 4; i+=1) {
        if (characters[i] > highest) {
            highest = characters[i];
        }
    }

    printf("\nThe highest character is %c", highest);
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Tar*_*ama 5

您尝试将字符串文字"a"转换为char.你应该使用一个字符文字.

char highest = "a";
//should be
char highest = 'a';
Run Code Online (Sandbox Code Playgroud)

此外,scanf需要一个指针来存储读取的结果.

scanf("%c", characters[i]);
//should be
scanf("%c", &characters[i]);
Run Code Online (Sandbox Code Playgroud)

Live Demo