我知道scanf与格式说明符%d一起使用时会在输入末尾忽略\ n,因为它遇到\ n并意识到它是一个非整数值,并将其留在输入缓冲区中。但是,即使格式说明符为%s,我也无法理解为什么scanf会忽略\ n,因为\ n是有效字符,可以视为输入字符串的一部分。而且,我的代码中的输入字符串长度为80,而我的输入长度仅为6个字符。因此,这里也没有缓冲区溢出的问题。
我在这里查找了与scanf和getchar交错有关的其他问题。但是,他们所有人都使用了%d格式说明符。
toast(this, "John Doe", Toast.LENGTH_LONG)
我的输入:testin
我希望程序会在getchar处暂停输入,因为我正在使用%s且str的长度为80,而在输入return之后我的输入是testin \ n