在C中尝试此代码时,我在main方法中看到了垃圾值。我在做什么错误?
我希望我也应该在main方法中使用“%s”,但似乎错了。为什么呢?
#include <stdio.h>
#include <stdlib.h>
char* minimumMultiple(int num);
int main(void) {
// your code goes here
printf("%s", minimumMultiple(13)); // prints - *p·ä…d¿“¿Eƒ (GARBAGE) - WHY?
return 0;
}
char* minimumMultiple(int num) {
int chars1s = 1, rem = 1;
while (rem != 0) {
rem = (rem*10+1) % num;
chars1s++;
}
char chars[chars1s];
int i;
printf("%d\n", chars1s); // prints 6
for (i=0;i<chars1s;i++) {
chars[i] = '1';
}
chars[i] = '\0';
printf("%s\n",chars); // prints "111111"
return chars;
}