用vs2008编译c语言出现错误

#include#includeintmain(void){charstr1[80]="asd123fg25kji";charfun(chars[80]);fun(str... #include#includeint main(void)
{
char str1[80]="asd123fg25kji";
char fun(char s[80]);
fun(str1);
printf("%s\n",str1);
}
char fun(char s[80])
{
int i;
char str2[80],str3[80];
char str4[80];
for(i=0;i<20;i++)>'A'&&s[i]<'z')||(s[i]>'a'&&s[i]<'z'))
{
str2[i]=s[i];
}
else
str3[i]=s[i];
}
str4[80]=stract(str2,str3);
return str4;
}

#include#includeint main(void)
{
char str1[80]="asd123fg25kji";
char fun(char s[80]);
fun(str1);
printf("%s\n",str1);
}
char fun(char s[80])
{
int i;
char str2[80],str3[80];
char str4[80];
for(i=0;i<20;i++)>'A'&&s[i]<'z')||(s[i]>'a'&&s[i]<'z')) 1="" else="" return="">------ 已启动生成: 项目: text8, 配置: Debug Win32 ------
1>正在编译...
1>text.c
1>e:\c语言\c程序\text8\text8\text.c(24) : warning C4013: “stract”未定义;假设外部返回 int
1>e:\c语言\c程序\text8\text8\text.c(25) : warning C4047: “return”: “char”与“char [80]”的间接级别不同
1>e:\c语言\c程序\text8\text8\text.c(25) : warning C4172: 返回局部变量或临时变量的地址
1>正在编译资源清单...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>正在链接...
1>text.obj : error LNK2019: 无法解析的外部符号 _stract,该符号在函数 _fun 中被引用
1>E:\C语言\C程序\text8\Debug\text8.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>生成日志保存在“file://e:\C语言\C程序\text8\text8\Debug\BuildLog.htm”
1>text8 - 2 个错误,3 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
展开
 我来答
ahcc08
2014-06-06 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51941
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
#include <stdio.h>
#include <string.h>
void fun(char * s);

int main(void)
{
    char str1[80] = "asd123fg25kji";
    
    fun(str1);
    printf("%s\n", str1);

    return 0;
}

void fun(char * s)
{
    char s1[80] = {0};
    char s2[80] = {0};
    int j = 0;
    int k = 0;

    for (int i = 0; i < strlen(s); i++)
    {
        // 如果是字母,则保存到s1中
        if ((s[i] >= 'A' && s[i] <= 'Z')
         || (s[i] >= 'a' && s[i] <= 'z'))
        {
            s1[j++] = s[i];
        }
        // 不是字母,保存到s2中
        else
        {
            s2[k++] = s[i];
        }
    }

    // 将s清空
    s[0] = 0;
    // 拼接s1
    strcat(s, s1);
    // 拼接s2
    strcat(s, s2);
}

运行结果如下:


欢迎采纳!

百度网友bca7770
2014-06-06 · 超过27用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:61.7万
展开全部
.........你这程序太乱了
stract 函数在哪?

fun函数返回值是char 而不是char* 应该改成str4[80]吧

for(i=0;i<20;i++)>'A'&&s[i]<'z')||(s[i]>'a'&&s[i]<'z'))
if(s[i]>'A'&&s[i]<'z')||(s[i]>'a'&&s[i]<'z')) 这部分应该放到下面去
追问
这个是复制的时候出了点问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式