#25784: 為甚麼出現這個訊息 系統呼叫了 abort 函式! *** stack smashing detected ***: terminated Aborted (core dumped)


andy0937372172@gmail.com (林益華)


#include<stdio.h>

int main() {

  int num[3]  ; // 四個數字

  int time  ; // 次數

  scanf( "%d", &time );

  for( int i = 0 ; i < time ; i++ ) {

    for( int j = 0 ; j < 4 ; j++ ) {

      scanf( "%d", &num[j] );

    } // for

    

    if( ( num[1] - num[0] )  == ( num[4] - num[3] ) ) {

      for( int j = 0 ; j < 4 ; j++ ) {

        printf( "%d ", num[j] );

      } // for

      printf( "%d\n", num[3] + num[1] - num[0] );

    } // if

    else if ( num[1] / num[0] == num[4] / num[3] ) {

     for( int j = 0 ; j < 4 ; j++ ) {

        printf( "%d ", num[j] );

      } // for

      printf( "%d\n", num[3] * ( num[1] / num[0] ) );

    } // else if

  } // for

 

  return 0 ;

} // main()

#25786: Re:為甚麼出現這個訊息 系統呼叫了 abort 函式! *** stack smashing detected ***: terminated Aborted (core dumped)


chen910606 (forward)


#include

int main() {

  int num[3]  ; // 四個數字:開太小了,只開了三個空間

  int time  ; // 次數

  scanf( "%d", &time );

  for( int i = 0 ; i < time ; i++ ) {

    for( int j = 0 ; j < 4 ; j++ ) {

      scanf( "%d", &num[j] );

    } // for

    

    if( ( num[1] - num[0] )  == ( num[4] - num[3] ) ) {

      for( int j = 0 ; j < 4 ; j++ ) {

        printf( "%d ", num[j] );

      } // for

      printf( "%d\n", num[3] + num[1] - num[0] );

    } // if

    else if ( num[1] / num[0] == num[4] / num[3] ) {

     for( int j = 0 ; j < 4 ; j++ ) {

        printf( "%d ", num[j] );

      } // for

      printf( "%d\n", num[3] * ( num[1] / num[0] ) );

    } // else if

  } // for

 

  return 0 ;

} // main()