i++ 的逻辑不知道哪里误解了
程序代码:
char string[] = " Beware the Jabberwock, \nmy son!"; int i = 0; while( string[i] != '\0') if(string[i] != '\n') putchar(string[i++]);
书上的例子,讲的是屏幕非格式化输出
在用这段代码,讲解putchar()函数
书中的输出为: Beware the Jabberwock, my son!
但实测试出为:Beware the Jabberwock,
个人理解:当数组中字符为“\n”时,if不执行,所以没有i++,返回到while(),
请问:1,返回之后程序结束了么,这时 \n != '0' 为真 > 执行if,为假 > 返回while() > ...
2,要如何像书中那样输出?应该递增i才对吧, 在if后直接写else i++; 输出了乱码
预谢!
[此贴子已经被作者于2019-5-5 16:04编辑过]