发布网友 发布时间:2022-08-17 23:31
共2个回答
热心网友 时间:2023-10-14 16:25
问题出在scanf("%d",&n)之后,gets函数和scanf函数有点不一样的地方,你在输入1之后,会按了一下回车。而这一下回车被scanf函数认为是输入结束,但是gets函数会认为你输入的是回车。如果你用调试工具看一下就可以发先,a[0][0]里面放的是回车的ASCII码10,即\n。其实你细心看一下也能发现,在结束前,多了个空行的。你可以在scanf函数下面加这样的代码:char t;getchar(t);把回车处理掉就不会被干扰了。追问奥,非常感谢,但是别人已经和我说了。非常不好意思!
热心网友 时间:2023-10-14 16:25
你只需要在scanf("%d",&n);后面加上一句getchar();问题就迎刃而解了!原因就是gets()函数接受了你输入数字后的回撤符!