一壶浊酒l 发表于 2018-10-8 21:05:26

为什么这两行代码换个位置就报错

如图框框的两行代码,这样就可以正常运行,要是移到如图箭头处就会报错,不知道为什么

claws0n 发表于 2018-10-8 21:29:17

不会呀#include<stdio.h>

int main()
{
    struct stu
    {
            char *n;   // 如果你要字符串,必须是指针或者数组
            int num;
    }ces = {"cwj",123};
   
    printf("%d\n", ces.num);
   
    struct stu *p;
    p = &ces;
   
    printf("%d\n",p->num);
    return 0;
}

一壶浊酒l 发表于 2018-10-8 21:55:54

claws0n 发表于 2018-10-8 21:29
不会呀

大佬大佬,为什么我复制你的代码到vc++6.0提示3个错误,还是因为这两行移到两个printf中间,要是移到上面就可以正常运行

claws0n 发表于 2018-10-8 22:03:38

一壶浊酒l 发表于 2018-10-8 21:55
大佬大佬,为什么我复制你的代码到vc++6.0提示3个错误,还是因为这两行移到两个printf中间,要是移到上面 ...

你报错的资讯是什么?之前是用 dev c++ 的,用 vs 试了也没问题~

一壶浊酒l 发表于 2018-10-8 22:04:46

claws0n 发表于 2018-10-8 22:03
你报错的资讯是什么?之前是用 dev c++ 的,用 vs 试了也没问题~

Compiling...
1.c
d:\program files (x86)\visual c++ 6.0\myprojects\99\1.c(13) : error C2143: syntax error : missing ';' before 'type'
d:\program files (x86)\visual c++ 6.0\myprojects\99\1.c(14) : error C2065: 'p' : undeclared identifier
d:\program files (x86)\visual c++ 6.0\myprojects\99\1.c(14) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct stu *'
d:\program files (x86)\visual c++ 6.0\myprojects\99\1.c(16) : error C2223: left of '->num' must point to struct/union
Error executing cl.exe.

1.obj - 3 error(s), 1 warning(s)

一壶浊酒l 发表于 2018-10-8 22:05:33

claws0n 发表于 2018-10-8 22:03
你报错的资讯是什么?之前是用 dev c++ 的,用 vs 试了也没问题~

感觉编译器有毒……

claws0n 发表于 2018-10-8 22:17:19

一壶浊酒l 发表于 2018-10-8 22:05
感觉编译器有毒……

printf("%d\n", (*p).num);最后一个也许要求这样,也许是 C89 的问题吧?必须先声明定义,才可以有运算等操作。
不要用 VC 了~ 版块有一篇置顶的文章
推荐用 dev c++ 入门,之后转 VS。

一壶浊酒l 发表于 2018-10-8 22:26:15

claws0n 发表于 2018-10-8 22:17
最后一个也许要求这样,也许是 C89 的问题吧?必须先声明定义,才可以有运算等操作。
不要用 VC 了~ 版 ...

我这台电脑不知道为啥,之前安装了vs2017可以用,可是重装系统后就不能安装vs了【抱头哭】{:5_104:},每次都是选择好安装项目后在下载的时候出错,而且听说以后考试要用vc,所以也没怎么注意这些编译器的问题 ==

claws0n 发表于 2018-10-8 22:43:45

一壶浊酒l 发表于 2018-10-8 22:26
我这台电脑不知道为啥,之前安装了vs2017可以用,可是重装系统后就不能安装vs了【抱头哭】,每 ...

一些权限问题吧?
下载的时候把杀毒软件关掉,并以系统管理员的身份执行
考试用的话,我就不评论了{:10_260:}

一壶浊酒l 发表于 2018-10-8 22:49:33

claws0n 发表于 2018-10-8 22:43
一些权限问题吧?
下载的时候把杀毒软件关掉,并以系统管理员的身份执行
考试用的话,我就不评论了{:10 ...

哈哈,,不清楚啊,下次安装再说吧,今天本来又试了几次,我看网上说是网络问题。。不太懂
页: [1]
查看完整版本: 为什么这两行代码换个位置就报错