i diesen Code sah:mir erklären, was hier geschieht [c Zeichen-Array + integer]
#include <stdio.h>
int main()
{
char string[] = " * * ** * * * *";
int line = 6, stop = 0, len = 8;
for(line = 6; line > 0;line--){
printf("%.*s\n", len, string + stop);
stop = stop + len;
--len;
}
return 0;
}
String ist ein Zeichen-Array, ist Stopp eine ganze Zahl. Wie wählt%. * s aus, was gedruckt werden soll? das löschte ein Häkchen von Starts gemacht:
*
*
*
* *
* *
*
Es gibt nur sechs Iterationen in dieser Schleife und zwei sich ändernde Variablen während dieser Schleifenperiode, etwas, von dem ich erwarte, dass ein Bleistift und etwas Papier bei der Ausarbeitung helfen könnte. – WhozCraig
Das '%. * S'-Format besagt, dass maximal die len Zeichen des String-Arguments gedruckt werden sollen. 'string + stop' liefert das string-Argument, das bei offset' stop' vom Anfang von 'string' beginnt. Dies sollte Ihnen vollständige Informationen darüber geben, wie C und die stdio-Bibliothek damit umgehen. Der Rest läuft nur durch die Schleifeniterationen. –
danke, meine Frage war hauptsächlich, dass String ist ein Zeichen-Array und Stop ist eine ganze Zahl. Wir führen Addition + hier ... wie? –