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

打不下了= =|||

参考技术A data=fopen("result.txt","r");
这个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.

c语言循环

Python变量和循环

用c语言编程,求从1的阶乘一直加到20的阶乘。

用c语言for循环求1到10阶乘