黑马程序员技术交流社区

标题: 【看看我代码什么地方错了】 [打印本页]

作者: 你说呢    时间: 2015-7-19 10:19
标题: 【看看我代码什么地方错了】
本帖最后由 你说呢 于 2015-7-21 09:08 编辑

关于星期的输出   提示有
[Error] invalid conversion from 'const char*' to 'char*' [-fpermissive]
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

#include<stdio.h>
char * getDay(int n){
        char *days[]={ "星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
        return n<8&&n>0? days[n-1]:"重新输入";
        
}
int main(){
        int  n=0;

         scanf(”%d",&n);
        printf("%s\n",getDay(n);
        
        return 0;
}
作者: 294250051    时间: 2015-7-19 11:08
#include<stdio.h>
char * getDay(int n){
    char *days[]={ "星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
    return n<8&&n>0? days[n-1]:"重新输入";
}

int main(){
    int  n=0;
    scanf("%d",&n);
    printf("%s\n",getDay(n));
    return 0;
}
作者: 你说呢    时间: 2015-7-20 08:49
294250051 发表于 2015-7-19 11:08
#include
char * getDay(int n){
    char *days[]={ "星期一","星期二","星期三","星期四","星期五","星期 ...

好像和我上面的没什么变化》》》》难道是我用的软件有问题。。。。
不管怎么谢谢了
作者: 294250051    时间: 2015-7-21 08:01
你说呢 发表于 2015-7-20 08:49
好像和我上面的没什么变化》》》》难道是我用的软件有问题。。。。
不管怎么谢谢了 ...

做程序要认真,看看星期三的分号
作者: 你说呢    时间: 2015-7-21 09:30
294250051 发表于 2015-7-21 08:01
做程序要认真,看看星期三的分号

看到了,,细节决定成功
找到问题了   
Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
   提示的是这里的错误    return n<8&&n>0? days[n-1]:"重新输入";
   这里返回的是char *  字符指针   
  当不在n<8&&n>0范围内的时候  应返回的是"重新输入"字符串  也就是他的首地址但是会报错
         我换个软件运行就没问题了
2.  在定义一个字符指针     改成这样都没问题
   char *temp="重新输入";return n<8&&n>0? days[n-1]:temp;
   

看看1中我理解的有问题么
作者: 294250051    时间: 2015-7-21 10:21
你说呢 发表于 2015-7-21 09:30
看到了,,细节决定成功
找到问题了   
Warning] deprecated conversion from string constant to 'char ...

你之前的就对,没必要跟着系统提示的错误改




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2