问答详情
源自:7-2 [Linux C语言] 输入流输出流以及错误流的重定向

求大神,哪里错了?

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

 } 

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

提问者:qq_愿时光安好_04050009 2017-01-15 11:57

个回答

  • 开心就好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;
    }


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

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