正好打着这个题 想练练用scanf函数循环输入单个字符
用的是 do while 循环,我寻思在表达式那里直接就把循环数给递增了,(毕竟是无比自由的c语言),但前置++可以正常输出,后置++就不行,我试着分析了下,没分析明白,大佬求解!!
int main()
{
char c_A[256]={};
int cir=0;
do
{
scanf("%c",&c_A[cir]);
}
while(c_A[cir]!='\n' && ++cir);
for(cir--;cir>=0;cir--)
{
printf("%c",c_A[cir]);
}
return 0;
}
下面是后置++ 方便大佬测试
int main()
{
char c_A[256]={};
int cir=0;
do
{
scanf("%c",&c_A[cir]);
}
while(c_A[cir]!='\n' && cir++);
for(cir--;cir>=0;cir--)
{
printf("%c",c_A[cir]);
}
return 0;
}
这个 括号内 逻辑与 后面的cir自增 我理解它不是前置后置都可以 也不影响啥。。。。我这个想法是不是错了。。
不在这个while的括号里写 我倒是写出来了,就是想知道这里的前置 和后置 差在哪了(还是我的编译器有问题。。
再感谢一次大佬!!!