using System;
class A
{
static void Main(string[] args)
{
int i;
char c;
while(true)
{
i=Console.Read();
if(i==-1) break;
c=(char)i;
Console.WriteLine("Echo: {0}",c);
}
Console.WriteLine("done");
}
}
如果输入字符串good
应该输出结果为
Echo:g
Echo:o
Echo:o
Echo:d
done
但调试结果为
Echo:g
Echo:o
Echo:o
Echo:d
Echo:
Echo:
class A
{
static void Main(string[] args)
{
int i;
char c;
while(true)
{
i=Console.Read();
if(i==-1) break;
c=(char)i;
Console.WriteLine("Echo: {0}",c);
}
Console.WriteLine("done");
}
}
如果输入字符串good
应该输出结果为
Echo:g
Echo:o
Echo:o
Echo:d
done
但调试结果为
Echo:g
Echo:o
Echo:o
Echo:d
Echo:
Echo:
解决方案 »
- 一个很奇怪的问题,求解答
- C#单词计数
- 求推荐使用VS2010进行团队开发的资料,书名博客都可以
- 用什么控件才能写出像系统那样的时间?
- 问.NET的AOP实现
- 谁知道哪里有QQ里的那个分页控件下载,要C#的,找到给分!!!!!!!
- mshtml 表格取值
- ???axwebbrowse如何取得所有的link,<a></a>,并一个个进行处理
- 如何让TextBox响应回车键??多谢各位朋友指教
- 畫曲線圖或柱圖時,怎樣得到要標題字的長度[用來居中用的]!!刻度為1CM應該怎麼畫
- 大家在实际的WINFORM项目中都是使用什么表格控件的?
- 【急救!!】DataGridView如何将Column和Row对换显示?也就是将DataGridView翻转90度。。。
这是计算机基础知识...
但调试结果为
Echo:g
Echo:o
Echo:o
Echo:d
Echo:
Echo:
///////////////
输出的两行
Echo:
Echo:
是输出了\r\n
没有输出"done" 是因为根本就没有退出whuile循环
得到你想要,修改成如下的代码即可:
static void Main(string[] args)
{
string input = Console.ReadLine(); ;
for (int i = 0; i < input.Length; i++)
{
Console.WriteLine("Echo: {0}", input[i]);
}
Console.WriteLine("done");
}
char c;
while (true)
{
i = Console.Read();
if (i == -1 || i==10 || i==13) break; c = (char)i;
Console.WriteLine("Echo: {0}", c);
}
Console.WriteLine("done");
Console.Read();
Console.Read();像上面这样就可以了
能解释一下这一行是什么意思吗
按常理来说应该输出done的阿
能解释一下这一行是什么意思吗
你最后是按了一下回车键的,回车键就等于 10 和13,而且10和13输出出来就是空行,所以碰到10或者13忽略就可以了。