2016-10-08 8 views
0

Hallo Ich versuche, Elemente eines Arrays in Ganzzahlen mithilfe der Eingabe des Benutzers zu konvertieren.ein Zeichenelement aus einem Array in ein int konvertieren

#include <stdio.h> 
#include <string.h> 

int main() 
{ 
    char i[9]={'-','-','-','-','-','-','-','-','\0'}; 
    int j; 
    printf ("enter an integer for an element "); 
    sscanf(i, "%d", &j); 

    return 0; 
} 

Ich habe irgendwo gelesen, dass sscanf verwendet ein Weg, es zu tun ist, aber ich weiß nicht, den richtigen Weg, es zu benutzen.

+0

https://linux.die.net/man/3/sscanf oder 'man sscanf' auf einer linux/osx-Box – Mobius

+0

Sobald Sie das herausfinden, beachten Sie das Ergebnis von 'sscanf' und handeln Sie entsprechend, sonst fallen Sie in die Grube des Verstoßes [Henry Spencers Sechstes Gebot] (http://www.seebs.net) /c/10com.html). Nach dem Aussehen dieser Eingabe-Zeichenfolge werden Sie es brauchen. – WhozCraig

Antwort

0

scanf liest von der Standardeingabe.

sscanf liest aus einer Zeichenfolge.

Beispiel scanf Nutzung:

#include <stdio.h> 

int main() 
{ 
    char str1[20]; 

    printf("Enter name: "); 
    scanf("%s", str1); 

    printf("First char converted to int: %d\n", str1[0]); 

    int j = str1[1]; 
    printf("Second char converted to int: %d\n", j); 

    return(0); 
} 

Eingang und Ausgang:

Enter name: marcel 
First char converted to int: 109 
Second char converted to int: 97 
0

Wie Marcel gesagt, gibt es zwei verschiedene Funktionen, die verschiedene Dinge tun. Sie fordern Elemente eines Arrays in ganze Zahlen umwandeln vom Benutzer unter Verwendung der Eingabe, so kann ich glaube, Sie dies wünschen:

char i[9]={'-','-','-','-','-','-','-','-','\0'}; 
int j; 
printf ("enter an integer for an element "); 
scanf("%i", &j); 
printf("Element[ %i ] in integer is: %i", j, i[j]); 
Verwandte Themen