已经定义了i为什么还会出现红色波浪

img

错误提示"i" was not declared in this scope,怎么解决这个问题,请大家帮忙看看。

s.length=i这一行代码不在for代码段中了,正确的写法是,把i的申明放到for之前,或者用花括号把for之后的两行代码括起来

int i;
for (i=0;cstr[i]!='\0';i++)
    s.data[i]=cstr[i];
s.length=i-1;

推荐下面这种写法

for (int i=0;cstr[i]!='\0';i++) {
    s.data[i]=cstr[i];
    s.length=i;
}