标题:第六行老是出现警告,求大家帮忙看看
只看楼主
我是一个黑客
Rank: 1
等 级:新手上路
帖 子:69
专家分:2
注 册:2018-6-11
结帖率:81.82%
已结贴  问题点数:20 回复次数:11 
第六行老是出现警告,求大家帮忙看看
#include <stdio.h>
#include <string.h>
int main()
{
    void copy_string(char *from,char *to);
    char *string1="I am a teacher";
    char b[]="you are a student";

    char *p=b;
    printf("string a=%s\nstring b=%s\n",string1,b);
    printf("\ncopy string a to string b");
    copy_string(string1,p);
    printf("string a=%s\nstring b=%s\n",string1,b);
    return 0;
}
void copy_string(char *from,char *to)
{
    for(;* from!='\0';from++,to++)
    *to=*from;
    *to='\0';
}
求大佬指教
搜索更多相关主题的帖子: 警告 string char from printf 
2018-06-21 20:34
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:1 
string-->char*
https://
2018-06-21 20:49
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:4 
程序代码:
#include <stdio.h>
#include <string.h>

void copy_string(char * from, char * to)
{
    for (; *from != '\0'; from++, to++)
        *to = *from;
    *to = '\0';
}

int main(void)
{
    char * a = "I am a teacher";
    char b[] = "you are a student";
    char *p = b;

    printf("string a: %s\n", a);
    printf("string b: %s\n", b);
    printf("copy string a to string b\n");
    copy_string(a, p);
    printf("string a: %s\n", a);
    printf("string b: %s\n", b);
    return 0;
}
没有什么大问题,你对比以下这个代码,看看有没有问题。估计是编译器的问题。
2018-06-21 20:53
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:2 
楼主的代码在我这里可以正常运行,没问题的。我用的是:DEVC++。楼主你呢???
2018-06-21 22:26
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
得分:3 
编译的时候遇到warning、error,第一反应应该是需要先想办法理解它的警告信息。

新人刚开始复制关键词可以多用百度搜搜,一两次以后自己就看得懂了

根据我此次百度搜到的结果
https://blog.
就有解释,并且适用

φ(゜▽゜*)♪
2018-06-21 22:46
我是一个黑客
Rank: 1
等 级:新手上路
帖 子:69
专家分:2
注 册:2018-6-11
得分:0 
回复 5楼 书生牛犊
谢谢!
2018-06-22 20:28
我是一个黑客
Rank: 1
等 级:新手上路
帖 子:69
专家分:2
注 册:2018-6-11
得分:0 
回复 4楼 自学的数学
我也是用的dev c++,但是现在市面上的dev 版本狠多,可能我下载的是盗版吧
2018-06-22 20:31
我是一个黑客
Rank: 1
等 级:新手上路
帖 子:69
专家分:2
注 册:2018-6-11
得分:0 
回复 3楼 八画小子
我也觉得是我的编译器的问题,之前好多代码我感觉没问题但就是运行有问题,一运行就崩。
2018-06-22 20:35
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
前面我已经说了,可能是楼主的编译软件的问题。不知楼主用的是什么编译器????
2018-06-22 21:52
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:10 
简单解释一下
C++中
字符串字面量的类型是 const char[字符串大小]
这里用一个char* 指向 const char数组
所以编译器给出一个警告
记不清这个警告是 字符串字面量特化 还是 const数组自带
嘛 不过不重要 反正 这是C++的内容

C中
字符串字面量的类型是char[字符串大小]

所以题主遇到的问题是
文件后缀名搞错了 233
换成.c 就没警告了

https://zh.
2018-06-22 21:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488068-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126478 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved