m0_55712403 2021-04-15 16:58 采纳率: 42.9%
浏览 16
已采纳

为什么 if( *(list[i].name) ==*s) 错误?

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

#define MAXS 80

int getindex( char *s );

int main()
{
    int n;
    char s[MAXS];

    scanf("%s", s);
    n = getindex(s);
    if ( n==-1 ) printf("wrong input!\n");
    else printf("%d\n", n);

    return 0;
}

/* 你的代码将被嵌在这里 */
int getindex( char *s ){
    int ret=-1;
    typedef struct day {
        int number;
        char* name; 
    }Day;
    Day list [7]={
        {0,"Sunday"},
        {1,"Monday"},
        {2,"Tuesday"},
        {3,"Wednesday"},
        {4,"Thursday"},
        {5,"Friday"},
        {6,"Saturday"}
    };
    /*
    if( *(list[i].name) ==*s)错误? 
    */
    for(int i=0;i<7;i++){
        if( strcmp(list[i].name,s) ==0){
            ret=list[i].number;
        }
    }
    return ret;
}
  • 写回答

1条回答 默认 最新

  • lemon-l 2021-04-15 17:01
    关注

    你这是要判断两个字符串是否相等?那要用strcmp

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 three.js添加后处理以后模型锯齿化严重