C nyelvben egy kis segítség?
Ez az egyszerű forráskódom:
int a,b,x;
printf("Kerem az 1. szamot: ",&a);
scanf("%d",a);
printf("Kerem a 2. szamot: ",&b);
scanf("%d",b);
x=a+b;
printf("Osszeg: %d",&x);
Viszont eredménybe ezt kapom:
Kerem az 1. szamot: 2
Kerem a 2. szamot: 2
Osszeg: 2272292
RUN SUCCESSFUL (total time: 9s)
MIÉRT TÖLTI FEL MINDIG UGYANAZZAL A RANDOM SZÁMMAL AZ x VÁLTOZÓT????
"A void main hibás"
Bár nincs benne az ANSI C-ben, a későbbi leszármazottakban (GCC, Turbo C) benne van.
"Bár nincs benne az ANSI C-ben"
így van, ezért nem jó
és ide pontot is rakhatsz, mert akkor akár bináris reprezentáció is van C-ben, meg minden, amit akarsz..
"és ide pontot is rakhatsz"
Nem rakhatunk pontot, mert nem ANSI C-t használunk a gyakorlatban.
"de akárhol tanulja, úgysem fogadják el"
Elfogadhatják, mivel a feladat lényegi részét elvégzi, lefordul, működik, szintaktikailag helyes.
pont erről beszéltünk, hogy szintaktikailag nem helyes, mert nem szabványos
de szólj, hogy nem érdekel, mert nem írom le többször, hogy NEM HELYES :D
" pont erről beszéltünk, hogy szintaktikailag nem helyes, mert nem szabványos "
Attól, hogy nem az ANSI szabványt követi még szintaktikailag lehet helyes. Ha nem lenne az, a gcc vagy a Turbo/Borland C szintaktikai hibával dobná vissza - de nem így történik.
Példa - lefordul, működik:
# cat a.c
#include <stdio.h>
void main() {
int a,b,x;
printf("Kerem az 1. szamot: ");
scanf("%d",&a);
printf("Kerem a 2. szamot: ");
scanf("%d",&b);
x=a+b;
printf("Osszeg: %d\n",x);
}
# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
# gcc a.c
# ./a.out
Kerem az 1. szamot: 11
Kerem a 2. szamot: 22
Osszeg: 33
Még példa: Benkő Tiborné, Benkő László, Tóth Bertalan: Programozzunk C-nyelven! (Computerbooks, Budapest, 1998), ISBN: 963 618 164 0
A könyben - amelyet tankönyvként is használnak! - mindenhol így szerepel a main:
De a grafikus példáknál megtalálható a void main() jelölés is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!