int main()
{
char stra[] = { "abcdefghijklmnopqrstuvwxyz" };
int n = 26;
for (int i = 0; i < n; i++);
{
int k = i; //但是在这块的i会报错 报错为i未定义
for (int j = 0; j < n; ++j)
{
printf("%c", stra[k]);
k = (k + 1) % n;
}
printf("\n");
}
printf("\n");
return 0;
}
报错如下所示 为啥呀
for (int i = 0; i < n; i++);
删了末尾的分号
第一个for语句后面不要写分号,写了分号就相当于这个for语句已经结束,而你的i是定义在第一个for循环里面的,所以i的有效使用范围是第一个for循环。
变量作用域问题,for循环for(var, condition, update)结构括号后面不能跟分号,否则i就定义在了for内部,跟下方循环体无关了