鱼C论坛

 找回密码
 立即注册
查看: 4239|回复: 13

为什么.C后缀不能编译通过,而.cpp后缀的却编译通过?

[复制链接]
发表于 2013-4-9 22:57:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>//定义头文件
#include<malloc.h>
#define N 5

typedef struct ShiYan
{
        int data[N];
        int Length;  //用来存放长度
}Sqlist;

//初始化顺序表
void ChuShi(Sqlist *&L)
{
        L=(Sqlist *)malloc(sizeof(Sqlist));
        L->Length=0;
}



//在指定位置插入数据
int ChaRu(Sqlist *&L,int i,int e)
{
        int j;
        if(i<0||i>L->Length+1)
                return 0;
        i--;
        for(j=L->Length;j>i;j--)
                L->data[j]=L->data[j-1];
        L->data[i]=e;
        L->Length++;
        return 1;
}

//输出顺序表

void ShuChu(Sqlist *L)
{
        int i;
        for(i=0;i<L->Length;i++)
        printf("%d\t",L->data[i]);
        printf("\n");
}

int main()
{
         int a,i;
         Sqlist *h;
         printf("初始化顺序表loading....\n");
         ChuShi(h);
         printf("输入五个数据\n");
         for(i=1;i<6;i++)
         {
                 scanf("%d",&a);
             ChaRu(h,i,a);
         }
         printf("输出顺序表\n");
         ShuChu(h);

         return 0;
}


把源文件后缀从.c改为.cpp就能顺利编译通过,而.c后缀却不行,为什么会这样,是不是我哪里错误了??各位大神帮帮忙!!我用的编译器是vc++6.0
.c后缀.png

34.rar

608 Bytes, 下载次数: 6

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-9 23:39:59 | 显示全部楼层
  1. //没有一边看书一边写码的水分
  2. #include <stdio.h>
  3. #include <malloc.h>
  4. #define N 5//定义头文件

  5. typedef struct ShiYan
  6. {
  7.         int data[N];
  8.         int Length;  //用来存放长度
  9. }Sqlist;

  10. //初始化顺序表
  11. void ChuShi(Sqlist *L)
  12. {
  13.         L=(Sqlist *)malloc(sizeof(Sqlist));
  14.         L->Length=0;
  15. }



  16. //在指定位置插入数据
  17. int ChaRu(Sqlist *L,int i,int e)
  18. {
  19.         int j;
  20.         if(i<0||i>L->Length+1)
  21.                 return 0;
  22.         i--;
  23.         for(j=L->Length;j>i;j--)
  24.                 L->data[j]=L->data[j-1];
  25.         L->data[i]=e;
  26.         L->Length++;
  27.         return 1;
  28. }

  29. //输出顺序表

  30. void ShuChu(Sqlist *L)
  31. {
  32.         int i;
  33.         for(i=0;i<L->Length;i++)
  34.         printf("%d\t",L->data[i]);
  35.         printf("\n");
  36. }

  37. int main()
  38. {
  39.          int a,i;
  40.          Sqlist *h;
  41.          printf("初始化顺序表loading....\n");
  42.          ChuShi(h);
  43.          printf("输入五个数据\n");
  44.          for(i=1;i<6;i++)
  45.          {
  46.                  scanf("%d",&a);
  47.              ChaRu(h,i,a);
  48.          }
  49.          printf("输出顺序表\n");
  50.          ShuChu(h);

  51.          return 0;
  52. }


复制代码
只剩一个警告了【warning C4700: local variable 'h' used without having been initialized】h使用前没赋初值

Sqlist *L
睡觉喽

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-9 23:44:39 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-9 23:52:06 | 显示全部楼层
在随风飘逝 发表于 2013-4-9 23:44
多谢,看来自己还不够细心

编译时通过了,但是程序运行不了

运行错误

运行错误
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-10 00:06:34 | 显示全部楼层
G0398 发表于 2013-4-9 23:39
只剩一个警告了【warning C4700: local variable 'h' used without having been initialized】h使用前没赋初 ...

编译时通过了,但是程序运行不了

运行不了

运行不了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-10 02:19:20 | 显示全部楼层
瘟七又发瘟吗?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-10 13:11:48 | 显示全部楼层
怎么没有人解惑一下
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-10 23:03:15 | 显示全部楼层
在随风飘逝 发表于 2013-4-10 00:06
编译时通过了,但是程序运行不了

F10调试运行 可能是哪个地址访问出错了
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-11 17:52:39 | 显示全部楼层
cpp是c++后缀 c是c语言后缀  你代码中使用了c++的东西了,因此会出错{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-11 21:26:10 | 显示全部楼层
yujian 发表于 2013-4-11 17:52
cpp是c++后缀 c是c语言后缀  你代码中使用了c++的东西了,因此会出错

有什么办法解决,让他在c语言下运行,是不是那个引用符的问题?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-11 21:27:04 | 显示全部楼层
G0398 发表于 2013-4-10 23:03
F10调试运行 可能是哪个地址访问出错了

不会用调试
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-11 21:28:37 | 显示全部楼层
那个引用符“&”能用什么代替??
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-11 22:11:07 | 显示全部楼层
在随风飘逝 发表于 2013-4-11 21:28
那个引用符“&”能用什么代替??

后缀用cpp就行了     
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-11 23:00:22 | 显示全部楼层
yujian 发表于 2013-4-11 22:11
后缀用cpp就行了

用C呢??,c语言嘛
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-4 08:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表