Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di felpone
    Registrato dal
    Jun 2010
    Messaggi
    182

    [C]Errore in run-time

    Penso che l'errore sia un accesso a una locazione di memoria del sistema ma non capisco dov'è..

    codice:
    #include <stdio.h>
    
    double inner_product(const double *a,const double *b,int n){
    double sum=0;
    while (a<a+n && b<b+n){
    sum+=(*a)*(*b);
    a++;
    b++;
    }
    
    return sum;
    
    }
    
    
    
    int main(){
    
    double a[]={2.2,3.6};
    double b[]={3.2,6.5};
    
    int n=2;
    
    printf("%f",inner_product(a,b,n));
    
    
    system("pause");
    
    
    
    }

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    codice:
    while (a<a+n && b<b+n)
    a sarà sempre maggiore di a+n, se tu modifichi a modifichi anche a+n! Lo stesso vale per b.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Non è che i puntatori siano il mio punto forte tutto l'opposto !

    ma il problema è nella condizione del while , che non fa ripetere 2 volte il ciclo ma molte
    di più .

    prova ad inserire questa riga ad inizio funzione per rendertene conto

    printf(" a %x a+n %x \n",a,a+n);
    Tecnologia

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: [C]Errore in run-time

    Originariamente inviato da felpone
    Penso che l'errore sia un accesso a una locazione di memoria del sistema ma non capisco dov'è..
    Qualcuno si è preso la briga di leggersi il codice e di "scovarselo da solo", ma rimane il fatto che sei tu a dover dire qual è l'errore che ottieni in esecuzione, riportandone il messaggio.

    Per le prossime volte.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.