为了账号安全,请及时绑定邮箱和手机立即绑定

求大神,哪里错了?

#include<stdio.h>

int main()

{

const char *week[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};

int n;

printf ("请输入一个数字l:\n");

scanf ("%d", &n);

if (n>=1 && n<=7) printf ("星期%d的英文名是%s", n,*week[n-1]);

else printf ("数字无效\n");

return 0;

 } 

用[]运算符做地址偏移,用*运算符取内容,程序出错,哪里错了?

正在回答

3 回答

#include <stdio.h>
int main()
{    
    const char *week[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};    
    int n;    
    printf ("请输入一个数字:\n");    
    scanf ("%d", &n);    
    if (n>=1 && n<=7) printf("星期%d的英文名是%s\n", n, week[n-1]);    
    else printf ("数字无效\n");    
    return 0;
}


0 回复 有任何疑惑可以回复我~
#1

开心就好OO

*week[n-1]char, week[n-1]是char*, 你可以用printf("%c", *week[n-1]);试试
2018-11-24 回复 有任何疑惑可以回复我~

输出结果的时候不能用*week[n-1],而应该用week[n-1]。因为你需要输出的是一个字符串,而不是一个指针。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Linux C语言编程基本原理与实践
  • 参与学习       202883    人
  • 解答问题       451    个

本视频教程介绍C语言基本工作原理以及适用与C的实际开发方式

进入课程

求大神,哪里错了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信