我想用一个dowhile循环实现字符串的输入,但是为什么字符串的输出和长度会是这个?
你在while里用getchar()的话,会又接收一个字符,判断这个字符是否为换行符啊。等于会跳过一个字符。所以你代码要修改一下:
while((n=getchar()) != '\n') str[size++] = n;