注册 登录
编程论坛 C++教室

这个代码问题出在哪里,希望大佬们给出解答。

hzc904217071 发布于 2021-03-07 10:55, 1774 次点击
#include<stdio.h>
#include<string.h>
//请在该注释语句下方完成fun函数的定义
void fun(char s[],int len)
{
    int i;
    for(i=0;i<len;i++)
    {
        if(s[i]>=97 && s[i]<=122)
        {
            s[i]=s[i]-32;
        }
    }
}
int main()
{
    char s[20]="DFGHjkl";
    char array[20]="DFGHJKL";
    int len=strlen(s);
    fun(s,len);
    /*
    将修改后的数组s与原数组array作比较,
    如果一致,则返回0,表示数组s中所有的小写字母已转为大写字母
    */
    int num=strcmp(s,array);
    if(num==0)
    {
        printf("数组转化成功");
    }
    else
    {
        printf("数组转化失败");
    }
    return 0;
}
4 回复
#2
apull2021-03-07 12:26
你这有啥问题?
#3
hzc9042170712021-03-07 12:34
回复 2楼 apull
1>------ 已启动生成: 项目: a, 配置: Debug Win32 ------
1>  a.c
1>c:\users\1\documents\visual studio 2010\projects\a\a\a.c(25): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>c:\users\1\documents\visual studio 2010\projects\a\a\a.c(26): error C2065: “num”: 未声明的标识符
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


系统运行不了就发了这个
#4
apull2021-03-07 18:07
写代码在网站的在线编程里运行正常。
出来这个提示多半是文件编码问题,另存为ASCII格式的试试。
再就是改用VS Code编辑器+gcc编译器试试。
#5
rjsp2021-03-08 10:32
回复 3楼 hzc904217071
没有语法错误,
但我看你用的是 VC2010,它不支持C语言

有两个解决办法
第一个:换最新的VC,比如VC2019
第二个:将 int num=strcmp(s,array); 中的 int num; 定义到函数头部
1