我在开始学习c#。下面一个程序的两个版本怎么结果不一样? 正确.version using System; class Test{ static void divide(int a,int b,out int result,out int remainder){ result=a/b; remainder=a%b; } static void Main(){ for(int i=1;i<10;i++) for(int j=1;j<10;j++){ int ans,r; divide(i,j,out ans,out r); Console.WriteLine("{0}/{1}={2},{3}%{4}={5}",i,j,ans,i,j,r); } Console.ReadLine(); } } 运行结果:1/1=1,1%1=0 1/2=0,1%2=1 1/3=0,1%3=1 1/4=0,1%4=1 1/5=0,1%5=1 1/6=0,1%6=1 1/7=0,1%7=1 1/8=0,1%8=1 1/9=0,1%9=1 2/1=2,2%1=0 2/2=1,2%2=0 2/3=0,2%3=2 2/4=0,2%4=2 2/5=0,2%5=2 2/6=0,2%6=2 2/7=0,2%7=2 2/8=0,2%8=2 2/9=0,2%9=2 3/1=3,3%1=0 3/2=1,3%2=1 3/3=1,3%3=0 3/4=0,3%4=3 3/5=0,3%5=3 3/6=0,3%6=3 错误.version using System; class Test{ static void divide(int a,int b,out int result,out int remainder){ result=a/b; remainder=a%b; } static void Main(){ for(int i=1;i<10;i++) for(int j=1;j<10;j++){ int ans,r; divide(i,j,out ans,out r); Console.WriteLine("{0}/{1}={2},{0}%{1}={3}",i,j,ans,i,j,r);//改动处 } Console.ReadLine(); } } 运行结果:1/1=1,1%1=1 1/2=0,1%2=1 1/3=0,1%3=1 1/4=0,1%4=1 1/5=0,1%5=1 1/6=0,1%6=1 1/7=0,1%7=1 1/8=0,1%8=1 1/9=0,1%9=1 2/1=2,2%1=2 2/2=1,2%2=2 2/3=0,2%3=2 2/4=0,2%4=2 2/5=0,2%5=2 2/6=0,2%6=2 2/7=0,2%7=2 2/8=0,2%8=2 2/9=0,2%9=2 3/1=3,3%1=3 3/2=1,3%2=3 3/3=1,3%3=3 3/4=0,3%4=3 3/5=0,3%5=3 3/6=0,3%6=3 3/7=0,3%7=3 3/8=0,3%8=3 3/9=0,3%9=3 4/1=4,4%1=4 4/2=2,4%2=4 4/3=1,4%3=4 4/4=1,4%4=4 4/5=0,4%5=4 4/6=0,4%6=4 4/7=0,4%7=4 4/8=0,4%8=4 4/9=0,4%9=4 5/1=5,5%1=5 5/2=2,5%2=5 5/3=1,5%3=5 5/4=1,5%4=5 5/5=1,5%5=5 5/6=0,5%6=5 5/7=0,5%7=5 5/8=0,5%8=5 5/9=0,5%9=5 6/1=6,6%1=6 6/2=3,6%2=6 6/3=2,6%3=6 6/4=1,6%4=6 6/5=1,6%5=6 6/6=1,6%6=6 6/7=0,6%7=6 6/8=0,6%8=6 6/9=0,6%9=6 7/1=7,7%1=7 7/2=3,7%2=7 7/3=2,7%3=7 7/4=1,7%4=7 7/5=1,7%5=7 7/6=1,7%6=7 7/7=1,7%7=7 7/8=0,7%8=7 7/9=0,7%9=7 8/1=8,8%1=8 8/2=4,8%2=8 8/3=2,8%3=8 8/4=2,8%4=8 8/5=1,8%5=8 8/6=1,8%6=8 8/7=1,8%7=8 8/8=1,8%8=8 8/9=0,8%9=8 9/1=9,9%1=9 9/2=4,9%2=9 9/3=3,9%3=9 9/4=2,9%4=9 9/5=1,9%5=9 9/6=1,9%6=9 9/7=1,9%7=9 9/8=1,9%8=9 9/9=1,9%9=9 为什么会出现这种问题? 
|