我和另一位大学生讨论过以下这个问题的原因.
#include <stdio.h>
#include <stdlib.h>
void print_sign2(void);
int ctr;
char sign1='x';
char sign2='=';
int main() {
for (ctr=0; ctr<10; ctr++){
printf("%c",sign1);
print_sign2();
}
return 0;
}
void print_sign2(void) {
for (ctr=0; ctr<2; ctr++)
printf("%c",sign2);
}
Run Code Online (Sandbox Code Playgroud)
我认为这个循环是因为ctr整数是全局的并且也在函数中使用print_sign2.这意味着每次print_sign2调用该函数时ctr都设置为0.这是正确的吗?