基础,大家解答一下属于strcmp的题

从键盘输入一个字符串,从该字符串中找出最小的字符并输出。
最好用上strcmp

该题目不需要用到strcmp字符串比较函数。对于问题中的题目,解题代码如下:

#include<stdio.h>
  
void main()
{
    char a[20] = {0}, min;
    int i;
    printf("please input string:");
    scanf("%s", a);
    min = a[0];
    for (i = 1; i < 20; i++)
    {
        if(a[i] == '\0')
            break;
        if(min > a[i])
            min = a[i];
    }
    printf("the min char is:%c\n", min);
}


strcmp是用来比较2个字符串的
你这是要逐个字符互相比较,用不到这玩意

strcmp是两个字符串比较,
从左往右逐个字符比较
完全相同返回0,左小于右返回负数,右小于左返回正数.
你想要找到字符串中最小字符的话,其实和比较整数数组是完全一样的,因为字符在c语言中的储存方法就是ascII码,也就是数字.
比如字符a是97,字符b是98,于是a<b

供参考:

#include<stdio.h>
int  main()
{
    char a[80], min; 
    int i;             
    printf("请输入字符串:");
    scanf("%s", a);
    min = a[0];
    for (i = 1; a[i] != '\0'; i++)
    {
        if (min > a[i])
            min = a[i];
    }
    printf("字符串 %s 中最小字符是: %c", a, min);
    return 0;
}