άσκηση με δείκτες

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
tanasi
Δημοσιεύσεις: 9
Εγγραφή: 24 Νοέμ 2010 01:55
Τοποθεσία: Thessaloniki

άσκηση με δείκτες

Δημοσίευση από tanasi » 13 Απρ 2011 23:26

η εκφώνηση της άσκησης είναι η εξής:Να γραφεί συνάρτηση που να δέχεται έναν ακέραιο k και θα επιστρέφει ένα πίνακα ακεραίων με μέγεθος k όπου κάθε στοιχείο θα είναι το 1.

έγραψα αυτόν τον κώδικα

Κώδικας: Επιλογή όλων

#include<stdio.h>
#include<stdlib.h>

int *func&#40;int k&#41;
&#123;
     int i,*p;
     p=&#40;int *&#41;calloc&#40;k,sizeof&#40;k&#41;&#41;;
     if&#40;p=NULL&#41;
     &#123;
               puts&#40;"denxwraei"&#41;;
               exit&#40;2&#41;;
               &#125;
     for&#40;i=0;i<k;i++&#41; p&#91;i&#93;=1;
     return &#40;p&#41;;
&#125;     

int main&#40;void&#41;
&#123;
    int k,i,*v;
    puts&#40;"dwse akeraio"&#41;;
    scanf&#40;"%d",&k&#41;;
    fflush&#40;stdin&#41;;
    v=func&#40;k&#41;;
    for&#40;i=0;i<k;i++&#41; printf&#40;"%d",*&#40;v+i&#41;&#41;;
    system&#40;"pause"&#41;;
&#125;
δεν υπάρχουν σφάλματα αλλά το πρόγραμμα κρασάρει, όπως κρασάρουν και άλλα παρόμοια προγραμματάκια που δοκίμασα να φτιάξω. τι κάνω λάθος?

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

άσκηση με δείκτες

Δημοσίευση από dva_dev » 13 Απρ 2011 23:54

Τα warnings σχεδόν πάντα είναι λάθη.
Ισως αυτά σε βοηθήσουν:

Κώδικας: Επιλογή όλων

gcc -Wall test12.c -o test12
test12.c&#58; In function ‘func’&#58;
test12.c&#58;8&#58; warning&#58; suggest parentheses around assignment used as truth value
test12.c&#58; In function ‘main’&#58;
test12.c&#58;26&#58; warning&#58; control reaches end of non-void function
Το visual studio βέβαια δίνει πιο κατατοπιστικά μηνύματα

Κώδικας: Επιλογή όλων

test12.c&#40;8&#41; &#58; warning C4706&#58; assignment within conditional expression

Άβαταρ μέλους
tanasi
Δημοσιεύσεις: 9
Εγγραφή: 24 Νοέμ 2010 01:55
Τοποθεσία: Thessaloniki

άσκηση με δείκτες

Δημοσίευση από tanasi » 14 Απρ 2011 01:36

ω ναι. αυτό το = ...
βέβαια στον compiler που χρησιμοποιώ(dev c/c++) δεν έβγαλε ούτε καν τα warnings

σ'ευχαριστώ πολυ
BE QUICK OR BE DEAD

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες