1 c
我试图在最里面的结构中访问元素asd7,这是我的代码:
#include <stdio.h>
int main()
{
struct asd
{
int asd;
struct asd1
{
int asd1;
struct asd6
{
int asd7;
}asd6;
}asd1;
}asd;
int asd10;
int asd11;
struct asd *ptr1;
struct asd1 *ptr2;
struct asd6 *ptr3;
asd.asd1.asd6.asd7=10;
printf("%d\n",asd.asd1.asd6.asd7);
}
Run Code Online (Sandbox Code Playgroud)
代码正在编译但我无法运行它 - 我遇到了分段错误.任何帮助都会很棒.
谢谢
输出是:
10
Exited: ExitFailure 3
Run Code Online (Sandbox Code Playgroud)
你的代码没有任何问题,return 0;最后一个简单的东西无法修复:-)
无:
pax> cat qq.c ; gcc -o qq qq.c ; ./qq ; echo rc=$?
#include <stdio.h>
int main (void) {
struct asd {
int asd;
struct asd1 {
int asd1;
struct asd6 {
int asd7;
} asd6;
} asd1;
} asd;
asd.asd1.asd6.asd7=10;
printf("%d\n",asd.asd1.asd6.asd7);
//return 0;
}
10
rc=3
Run Code Online (Sandbox Code Playgroud)
附:
pax> cat qq.c ; gcc -o qq qq.c ; ./qq ; echo rc=$?
#include <stdio.h>
int main (void) {
struct asd {
int asd;
struct asd1 {
int asd1;
struct asd6 {
int asd7;
} asd6;
} asd1;
} asd;
asd.asd1.asd6.asd7=10;
printf("%d\n",asd.asd1.asd6.asd7);
return 0;
}
10
rc=0
Run Code Online (Sandbox Code Playgroud)
另一种方法是切换到C99编译器(或模式).C99标准部分(转述)陈述:
如果main函数的返回类型是与int兼容的类型,则从初始调用返回main函数等效于调用exit函数,并将main函数返回的值作为其参数:到达终止函数的} main函数返回值0.
(我的斜体).