m0_62138486 2022-05-13 20:27 采纳率: 98.6%
浏览 9
已结题

s=="Monday"这样是否可以进行比较?s为指针其值为地址,"Monday"是字符串常量他的值为首字符存储单元的地址。二者能否进行地址上的数值比较,或者说直接比较地址,如果地址相等的话值也相等

img

img

img

img

#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 )
{
if(s=="Sunday")
return 0;
else if(s=="Monday")
return 1;
else if(s=="Tuesday")
return 2;
else if(s=="Wednesday")
return 3;
else if(s=="hursday")
return 4;
else if(s=="Friday")
return 5;
else if(s=="Saturday")
return 6;
else
return -1;
}

  • 写回答

1条回答 默认 最新

  • 青椒*^_^*凤爪爪 嵌入式领域新星创作者 2022-05-13 20:44
    关注
    1. 字符串的比较可以使用函数 strcmp或者strncmp。就比如下面这样。
      /* 你的代码将被嵌在这里 */
      int getindex(char *s)
      {
       if (strncmp(s, "Sunday", strlen("Sunday")) == 0)
           return 0;
       else if (strncmp(s, "Monday", strlen("Monday")) == 0)
           return 1;
       else if (strncmp(s, "Tuesday", strlen("Tuesday")) == 0)
           return 2;
       else if (strncmp(s, "Wednesday", strlen("Wednesday")) == 0)
           return 3;
       else if (strncmp(s, "hursday", strlen("hursday")) == 0)
           return 4;
       else if (strncmp(s, "Friday", strlen("Friday")) == 0)
           return 5;
       else if (strncmp(s, "Saturday", strlen("Saturday")) == 0)
           return 6;
       else
           return -1;
      }
      

    希望采纳呀!!!

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

报告相同问题?

问题事件

  • 系统已结题 5月22日
  • 已采纳回答 5月14日
  • 创建了问题 5月13日

悬赏问题

  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置