标题:函数定义
只看楼主
菜鸟_1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-6-4
 问题点数:0 回复次数:4 
函数定义
#include<stdio.h>
#include<string.h>
 char buzhidao(char *,char *);
int main()
{
    char pp[100]="hai are you";
    char tt[100]=" mikfd la";
    buzhidao(pp,tt);
    puts(pp);
    return 0;
}
   
 char buzhidao(char *q,char *w)
{    int a,b,c,d;
    a=strlen(q);
    b=a+strlen(w);
    for(c=a,d=0;c<b;c++,d++)
        q[c]=w[d];
   

}




为什么我在定义函数buzhidao在前面添加void就会发出警告
two or more data types in declaration speccifiers.并在char下面标出波浪线。删掉void 就能正常运行。我的目的是拼接两个字符串。
搜索更多相关主题的帖子: 函数 定义 char strlen void 
2018-06-05 13:05
菜鸟_1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-6-4
得分:0 
知道了,犯傻了
2018-06-05 13:23
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
知道了就好,下次别再犯傻了。
2018-06-06 09:38
魏达达
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-4
得分:0 
是因为void不能正确的返回文件描述符,系统无法判断函数运行状况吗?
2018-06-06 12:59
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
在C语言中,在定义函数时,加在函数名前的“void”表示该函数没有返回值,调用时直接书写函数名和参数即可。
但是有些函数明明在定义的时候不是void型,却在调用时可能会在前面加上void,这表示程序并不关心调用该函数后的返回值是什么,即告诉静态代码检测工具不要去处理此处该函数的返回值。比如函数strcpy,我们直接用“strcpy(des_str, src_str);”这样的形式来用。
但如“(void)strcpy(des_str, src_str);”这样的形式还真不多见!原因是这种写法不针对人,也不针对编译器,而是针对静态代码检测工具,它会把函数返回值作为一项检测标准。
2018-06-06 13:17



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




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

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