Array-Wert auslesen

Gast #1963957
Lesenswert?

Hi.

Kann mir einer von euch sagen, was für eine Zahl im int Array steht wenn 
man da eine Double-Zahl reinschreibt?

sprich
1
int array[2];
2

3
void array_int()
4
{
5
array[0]=3,14159;
6
array[1]=3,1459*1000;
7
}

Steht nun 3 im array[0] weil der PC rundet?
Und was steht im array[1]? Steht da eher 3000 oder 3141 oder 3142(wegen 
Rundung?)

Bin für jede Hilfe dankbar!
#1963983
Lesenswert?

Ich will ja deinen Ehrgeiz wirklich nicht bremsen, aber
ohne C-Compiler wird das auf Dauer nichts.

Notfalls kann ich dir einen Zugang auf einem Rechner einrichten,
wo du dich über Konsole mit C austoben kannst.
Ein Entwicklungssystem auf dem eigenen Rechner wäre natürlich
deutlich komfortabler.
Gast #1963986
Lesenswert?

ich installier gerade Visual Studio von Microsoft, hoffe damit komm ich 
weiter.

Mich würde allerdings interessieren, wie ich die 3,141 * 1000, spricht 
3141 ins int array bekomme. Ist sowas möglich?
#1964149
Lesenswert?

Freak schrieb:
> Okay den Operator schau ich mir an!

Aber nur soweit, dass du diesen Operator nicht mehr irrtümlich 
verwendest. Ansonsten machst du einen großen Bogen darum und verwendest 
ihn die nächsten 2 Jahre nicht mehr.

Daher: Lass den Operator gleich Operator sein und sieh lieber nach, wie 
Gleitkommawerte in praktisch allen Programmiersprachen (ausser in 
deutschen, also auch im deutschen Excel) geschrieben werden. Das was du 
geschrieben hast ist ein Kommaoperator, den du dort nicht haben willst. 
Du hast ihn irrtümlich verwendet, weil du die richtige Schreibweise für 
Gleitkommezahlen nicht kennst.
Gast #1964218
Lesenswert?

Falls du das Komma durch einen Punkt ersetzt, steht im 1. Beispiel 3 im 
Feld und im 2. Beispiel 3145 (bzw. 3141 wenn du den die 1 nicht 
vergisst).
Nachkommastellen werden beim Typecast weggeschnitten.
Gast #1964231
Lesenswert?

Oder ums mal genau zu zeigen:
1
#include <stdio.h>
2

3
int main()
4
{
5
 int array_a[2];
6
 int array_b[2];
7

8
 array_a[0]=3,14159;
9
 array_a[1]=3,14159*1000;
10

11
 array_b[0]=3.14159;
12
 array_b[1]=3.14159*1000;
13

14
 printf("array_a[0]: %d\n", array_a[0]);
15
 printf("array_a[1]: %d\n", array_a[1]);
16

17
 printf("array_b[0]: %d\n", array_b[0]);
18
 printf("array_b[1]: %d\n", array_b[1]);
19
  
20
 return 0;
21
}

produziert als Ausgabe:

array_a[0]: 3
array_a[1]: 3
array_b[0]: 3
array_b[1]: 3141



Und nochwas, als Anfänger ist der Dev-C++ (GPL) eher zu empfehlen als 
Visual Irgendwas.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren