小编Moh*_*jan的帖子

将数组作为参数传递给C中的函数

我写了一个包含数组作为参数的函数,并通过传递数组的值来调用它,如下所示.

void arraytest(int a[])
{
    // changed the array a
    a[0]=a[0]+a[1];
    a[1]=a[0]-a[1];
    a[0]=a[0]-a[1];
}

void main()
{
    int arr[]={1,2};
    printf("%d \t %d",arr[0],arr[1]);
    arraytest(arr);
    printf("\n After calling fun arr contains: %d\t %d",arr[0],arr[1]);
}
Run Code Online (Sandbox Code Playgroud)

我发现虽然我arraytest()通过传递值调用函数,但原始副本int arr[]已更改.

你能解释一下原因吗?

c arrays

71
推荐指数
9
解决办法
16万
查看次数

为什么我不能在C#中为浮点变量分配1.2值?我在C和C++中做了同样的事情,并且它起作用了

为什么我不能在C#中为浮点变量分配1.2值?我在C和C++中做了同样的事情,并且它起作用了.

class Program
{
    private readonly int a = 20;
    private readonly float b;      

    public Program(float tmp)
    {
        b = tmp;
    }
    static void Main(string[] args)
    {
        Program obj1 = new Program(1.2);
        Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

它给错误无法转移双倍浮动.为什么不是1.2浮动值?

c# floating-point double casting

7
推荐指数
2
解决办法
5994
查看次数

在FileInfo中使用关键字

我正在编写以下代码.

        static void Main(string[] args)
        {
             FileInfo fiobj = new FileInfo(@"e:\mohan.txt");
             Console.Write("Name of file:"+ fiobj.Name);

             using(StreamWriter sw = fiobj.AppendText())
             {
                sw.WriteLine("mohan!");
             }
        }

    // code not working

    static void Main(string[] args)
        {
           FileInfo fiobj = new FileInfo(@"e:\mohan.txt");
           Console.Write("Name of file:"+ fiobj.Name);

           StreamWriter sw = fiobj.AppendText();            
           sw.WriteLine("mohan!");            
        }
Run Code Online (Sandbox Code Playgroud)

当我使用"using(){}"块时,我能够写入文件,但是当我在不使用(){}块的情况下编写相同的代码时,我无法做到.为什么这样?据我所知,using(){}块指定对象的生命周期范围.使用(){}阻止在这里执行某些操作以使其能够将数据写入文件.

c#

2
推荐指数
2
解决办法
1201
查看次数

函数返回可选值

每当我们调用函数返回值时,为什么不需要捕获值?考虑以下C代码,

int main()
{
      int i;
      scanf("%d",&i);
      printf("Value of i is: ",i);
      return 0;
}
Run Code Online (Sandbox Code Playgroud)

这里scanf()返回值1,但因为它没有在任何地方捕获,为什么没有弹出错误?允许这样编程的原因是什么?

c function

1
推荐指数
2
解决办法
137
查看次数

为什么.NET中的基类库?

我对C#程序的执行方式感到有点困惑.到目前为止我学到的是,

  1. C#程序+基类库形成源代码
  2. 此源代码提供给C#编译器以转换为MSILIL代码.
  3. 此MSIL代码移交给.NET Framework以转换为本机代码.

所以我的问题是为什么我们需要.NET Framework中的基类,因为所需的基类已经转换为MSIL代码?

我上面的过程错了吗?请帮忙!我用谷歌搜索但是无法清除它.谢谢您的关注!

c#

0
推荐指数
1
解决办法
1207
查看次数

标签 统计

c# ×3

c ×2

arrays ×1

casting ×1

double ×1

floating-point ×1

function ×1