Ich versuche, eine ITOA (Ganzzahl zu Array) -Funktion mit Zeigern zu schreiben.Ausdruck Zeichenfolge zeigt Symbole
Also das ist, was ich bis jetzt bekommen habe. Ich debuggte und es funktioniert gut. Die Sache ist, das Drucken selbst funktioniert nicht. Ich füge zwei Screenshots hinzu.
Würde mich über Hilfe freuen.
int num_length(int number)
{
int count = 0;
while (number > 0)
{
count++;
number /= 10;
}
return count;
}
void itoa(int number, char *strptr)
{
int number_len = num_length(number);
char *start = strptr;
strptr += number_len - 1;
while (strptr >= start)
{
*strptr = number % 10;
number /= 10;
strptr--;
}
}
void print_string(char *strptr)
{
while (*strptr != '\0')
{
printf("%c", *strptr);
strptr++;
}
}
void main(void)
{
int number;
char number_in_string[N] = { '\0' };
char *strptr = &(number_in_string[0]);
printf("Enter a number: ");
scanf_s("%d", &number);
itoa(number, strptr);
print_string(number_in_string);
getch();
}
nicht Spam-Tags - das ist nicht C++. – UKMonkey
'* strptr = Nummer% 10;' -> '* strptr = (Nummer% 10) + '0';' –
print_string: printf ("% s", mein_null_terminated_str) nur ein Gedanke. – UKMonkey