Muss one[8] nicht statisch sein?
/edit, habs mal in einem Online C-Compiler versucht, hatte da aber keine Wahl wie zu kompilieren:
Es gab z.B. kein Byte-Typ, im for durfte man keine Variable initialisieren, Casting war auch nur explizit möglich, und im switch-Statement durfte auch keine Variable initialisiert werden... Aber der Output ist so korrekt.
C
- #include <stdio.h>
- #include <string.h>
- int today;
- char *getNumber(int x);
- main() {
- today = 1;
- char* numArray = getNumber(today);
- printf("Displaying number ");
- printf("%d", today);
- printf(" (");
- printf("%d", sizeof(numArray));
- printf(") :");
- int i = 0;
- for (i; i < sizeof(numArray); i++) {
- int led = numArray[i];
- printf("%d",led);
- printf(" ");
- }
- }
- char *getNumber(int x) {
- if(x == 1) {
- static char one[8] = {(char)6,(char)9,(char)10,(char)20,(char)23,(char)34,(char)37,(char)49};
- return(one);
- }
- }