Άσκηση C: γιατί δεν τυπώνεται το μήνυμα;

...ασύγχρονα μαθήματα γλώσσας C

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό konnn » 25 Μαρ 2011, 02:15

konnn έγραψε:Το πρώτο if έχει να κάνει με το 32βιτ σύστημα ενώ το δεύτερο else με το 64 .

Edit:
Εάν μειώσετε την τιμή 6 σε πχ 1 και την 3 σε πχ 2 δουλεύει.Γιατί;;;"Υπερχείλιση";;;Γράφεις σε θέση πίνακα που δεν υπάρχει.!!!!!
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό linuxs » 25 Μαρ 2011, 02:22

Θα μπορούσες να κάνεις edit και στο προηγούμενο post σου...επιτρέπεται! ;) Δηλαδή λες να έχουμε κάτι τέτοιο:
Κώδικας: Επιλογή όλων
#include <stdio.h>

int calculate(void)
{
int i;
int p[9];

for ( i = 0; i <= 3; i++ )
if (sizeof(int)==8){
p[i*1+2]+=15;
}else{
p[i*2 + 2] += 16;
}
}

int main()
{
//printf("hello!!!\n");
calculate();
printf("Hello, World!\n");

return 0;
}

?????
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό konnn » 25 Μαρ 2011, 02:23

Ναι..
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό linuxs » 25 Μαρ 2011, 02:25

konnn έγραψε:Ναι..


Κάτσε γιατί μπορεί να μην τρέχει σε 32 βιτ...είσαι σίγουρος???
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό konnn » 25 Μαρ 2011, 02:27

linuxs έγραψε:
konnn έγραψε:Ναι..


Κάτσε γιατί μπορεί να μην τρέχει σε 32 βιτ...είσαι σίγουρος???

Δυστηχώς δεν έχω 32bit.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό linuxs » 25 Μαρ 2011, 02:27

Τα αποτελέσματα μου είναι αυτά:
Κώδικας: Επιλογή όλων

cs091770@csroot:~/Desktop$ gcc file.c
cs091770@csroot:~/Desktop$ ./a.out
Hello, World!
cs091770@csroot:~/Desktop$


ένα λάθος που βγάζει και έλεγε ο σίμος αρχικά δεν το βλέπω...
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό konnn » 25 Μαρ 2011, 02:30

Απλά δε τύπωνε το "Hello World."
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό linuxs » 25 Μαρ 2011, 02:56

Ο στόχος αυτός ήταν?
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό simosx » 25 Μαρ 2011, 03:13

linuxs έγραψε:Τα αποτελέσματα μου είναι αυτά:
Κώδικας: Επιλογή όλων

cs091770@csroot:~/Desktop$ gcc file.c
cs091770@csroot:~/Desktop$ ./a.out
Hello, World!
cs091770@csroot:~/Desktop$


ένα λάθος που βγάζει και έλεγε ο σίμος αρχικά δεν το βλέπω...


Έχω ενημερώσει το αρχικό πρόγραμμα (πρώτη δημοσίευση) ώστε όταν το τρέχεις και σε 32-bit να μην εμφανίζει το μήνυμα της printf().
Μήπως δεν είδες την απάντησή που ανέφερε να δοκιμάσεις την νέα έκδοση;

Ο στόχος είναι, όταν τρέχεις το πρόγραμμα που δίνω, να μη δεις το μήνυμα Hello World.
Αν συμβαίνει αυτό, τότε έχεις το σωστό πρόγραμμα.
Και η άσκηση είναι να διαπιστώσεις για πιο λόγο δεν εμφανίζει το Hello, World.
Τελευταία επεξεργασία από simosx και 25 Μαρ 2011, 17:04, έχει επεξεργασθεί 1 φορά/ες συνολικά
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Γράψιμο στη μνήμη προγράμματος C που εκτελείται

Δημοσίευσηαπό linuxs » 25 Μαρ 2011, 03:36

simosx έγραψε:
linuxs έγραψε:Τα αποτελέσματα μου είναι αυτά:
Κώδικας: Επιλογή όλων

cs091770@csroot:~/Desktop$ gcc file.c
cs091770@csroot:~/Desktop$ ./a.out
Hello, World!
cs091770@csroot:~/Desktop$


ένα λάθος που βγάζει και έλεγε ο σίμος αρχικά δεν το βλέπω...


Έχει ενημερώσει το αρχικό πρόγραμμα (πρώτη δημοσίευση) ώστε όταν το τρέχεις και σε 32-bit να μην εμφανίζει το μήνυμα της printf().
Μήπως δεν είδες την απάντησή που ανέφερε να δοκιμάσεις την νέα έκδοση;

Ο στόχος είναι, όταν τρέχεις το πρόγραμμα που δίνω, να μη δεις το μήνυμα Hello World.
Αν συμβαίνει αυτό, τότε έχεις το σωστό πρόγραμμα.
Και η άσκηση είναι να διαπιστώσεις για πιο λόγο δεν εμφανίζει το Hello, World.


Το είχα δεί. Το κατάλαβα! ;) Ολα κατανοητά τώρα...
έγραψε:απλά στην αρχή μου φάνηκε λίγο περίεργο...


Φιλικά, Βασίλης.
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Μαθήματα C