求大神,哪里错了?

来源:7-2 [Linux C语言] 输入流输出流以及错误流的重定向

qq_愿时光安好_04050009

2017-01-15 11:57

#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;

 } 

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

写回答 关注

2回答

  • 开心就好OO
    2018-11-24 11:30:10
    #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;
    }


    开心就好OO

    *week[n-1]char, week[n-1]是char*, 你可以用printf("%c", *week[n-1]);试试

    2018-11-24 11:34:29

    共 1 条回复 >

  • 筑梦之队
    2017-01-15 18:58:43

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

Linux C语言编程基本原理与实践

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

203979 学习 · 451 问题

查看课程

相似问题