c语言 不能加循环;Program received signal SIGABRT, Aborted. 0x0000003346a30265 in raise () from /l
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 不能加循环;Program received signal SIGABRT, Aborted. 0x0000003346a30265 in raise () from /l相关的知识,希望对你有一定的参考价值。
int main()
int i,j,k,l;
int w,x,y,z;
data=fopen("result.txt","r");
l=SEG;
do
for(i=1;i<=l;i++)
fscanf(data,"%d %d %d %d\n",&SEG_ID[i], &S_NODE[i], &E_NODE[i], &TV[i]);
fclose(data);
for(i=1;i<=l;i++)
for(j=1;j<=l;j++)
if(E_NODE[j]==S_NODE[i]&&E_NODE[i]==S_NODE[j])
num++;
Nei[i][num]=SEG_ID[j];
Nei_S[i][num]=S_NODE[j];
Nei_E[i][num]=E_NODE[j];
else if(E_NODE[j]==S_NODE[i]&&i!=j)
num++;
Nei[i][num]=SEG_ID[j];
Nei_S[i][num]=S_NODE[j];
Nei_E[i][num]=E_NODE[j];
else if(S_NODE[j]==S_NODE[i])
num++;
Nei[i][num]=SEG_ID[j];
Nei_S[i][num]=S_NODE[j];
Nei_E[i][num]=E_NODE[j];
else if(S_NODE[j]==E_NODE[i]&&i!=j)
num++;
Nei[i][num]=SEG_ID[j];
Nei_S[i][num]=S_NODE[j];
Nei_E[i][num]=E_NODE[j];
else if(E_NODE[j]==E_NODE[i])
num++;
Nei[i][num]=SEG_ID[j];
Nei_S[i][num]=S_NODE[j];
Nei_E[i][num]=E_NODE[j];
NUM[i]=num;
num=0;
result=fopen("resultnode.txt","w");
for(k=1;k<=l;k++)
fprintf(result,"%d,%d\n",SEG_ID[k], NUM[k]);
for(i=1;i<=NUM[k];i++)
fprintf(result,"%d,%d,%d\n",Nei[k][i], Nei_S[k][i], Nei_E[k][i]);
fprintf(result,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n");
fclose(result);
l=l-100;
while(l>=1);
return 0;
//加了那个包括全部的do-while循环就出现了这个,程序能跑,但是不能实现循环,不知道是为什么
7fffaf154000-7fffaf169000 rw-p 7ffffffea000 00:00 0 [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vdso]
Program received signal SIGABRT, Aborted.
0x0000003346a30265 in raise () from /lib64/libc.so.6
打不下了= =|||
这个data,你没有定义它是文件指针,所以在下面那里是读不了文件的。
l=SEG;
SEG是什么?你在main()函数之前宏观定义了?如果没有定义,那么系统会随机给一个值,而这个值刚好小于1,所以不能循环! 参考技术B fclose(data);
第一次循环你就把文件句柄关闭了,
fscanf(data,"%d %d %d %d\n",&SEG_ID[i], &S_NODE[i], &E_NODE[i], &TV[i]);
这一句就出错了,不能读取数据。
l=SEG;
l=l-100;
while(l>=1);
你这个l>=1 是循环成立条件,
但是每次l自减100,
你原来l的值是什么?本回答被提问者和网友采纳
Python变量和循环
1.Python变量
比C语言,Java语言更加简洁,不需要加int等等类型定义,直接变量名 = 值,Python里甚至不需要分号。有些特定的不能当做变量名,变量只能由字母、数字和下划线组成,下划线可以放在开头,甚至可以有很多(只是很少有人会这么做),数字不能作为开头。
2.Python注释
# 代表单行注释,\'\'\' \'\'\' 和""" """代表多行注释。\'\'\' \'\'\'除了代表多行注释,还可以表示打印多行。
3.Python常量
大写代表常量,例:PIE = 3.14
4.Python输入和输出
input()在控制台输入 print()输出
*******************************************使用变量值的几种方法****************************************
(1)类型强制只能是字符串(这种方法少用)
(2)用占位符%d整数类型,%s字符串类型,%f浮点数类型。***特别注意,input()是字符串类型,要用其他类型必须强制转换,例int(input("age:"))
(3)用大括号{}.format(),这里有两种格式,第二种必须按顺序写
5.Python密文
Python里使用password时可以使用密文,用getpass.getpass()方法,需要注意的是这种方法运行时在pycharm中不好使,可以在命令提示符里运行,这是可以的。
6.Python循环
(1)while循环
(2)for循环,range(0,10)从0开始到9,左闭右开,默认步长为1,所以range(0,10,2)就是从0开始到9,步长为2。
(3)continue表示跳出本次循环,进入下次循环,break表示结束循环
(4)双重for循环
*******************************************用循环做一个猜年龄的小游戏**********************************************
(1)用while循环
(2)for循环
(3)是否继续
运行结果!!!
以上是关于c语言 不能加循环;Program received signal SIGABRT, Aborted. 0x0000003346a30265 in raise () from /l的主要内容,如果未能解决你的问题,请参考以下文章
调用了signal(SIGPIPE, SIG_IGN)仍然出现Program received signal SIGPIPE, Broken pipe.
调用了signal(SIGPIPE, SIG_IGN)仍然出现Program received signal SIGPIPE, Broken pipe.