c语言初始2,c语言初始化怎么写

发布时间:2023-01-07

本文目录一览:

  1. c语言变量初始化的方式
  2. [C语言]int型变量i初始值为2,表达式i*i的计算结果为什么是12?
  3. [C语言数组数据初始化为: 2,4,7,9,10, 现插入数字8后仍保持正序,编程实现?](#C语言数组数据初始化为: 2,4,7,9,10, 现插入数字8后仍保持正序,编程实现?)

c语言变量初始化的方式

变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。 初始化的方式一般有如下两种:

  1. 直接对变量进行赋予常量数值进行初始化;
  2. 通过同类型变量进行初始化。 举例说明如下:
// 以下属于第1种初始化方式
int a1=5; // 整型变量的初始化
int b1[]={1,2,3,4}; // 整型数组的初始化
char str1[]="abcd"; // 字符数组的初始化
// 以下属于第2种初始化方式
int a2 = a1; // 整型变量的初始化
int b2[4] = b1; // 整型数组的初始化
char str2[4] = str1; // 字符数组的初始化
char *p = str1; // 字符指针的初始化

[C语言]int型变量i初始值为2,表达式i*i的计算结果为什么是12?

可能和编译器有关,编译时入栈顺序的问题。 windows vs2010下测试,你的理解是对的

int main()
{
    int i;
    i = 2;
    int dd = ++i + i++;
    printf("dd = %d  i = %d\n", dd, i);
    i = 2;
    int ww = ++i * i++;
    printf("ww = %d  i = %d\n", ww, i);
}

运行结果

C语言数组数据初始化为: 2,4,7,9,10, 现插入数字8后仍保持正序,编程实现?

#include <stdio.h>
void sort(int a[], int n, int t)
{
    int i, j;
    for (i = 0; i < n; ++i)
    {
        if (a[i] > t)
        {
            for (j = n; j > i; --j)
                a[j] = a[j - 1];
            break;
        }
    }
    a[i] = t;
}
int main()
{
    int a[6] = {2, 4, 7, 9, 10}, i;
    sort(a, 5, 8);
    for (i = 0; i < 6; ++i)
        printf("%d ", a[i]);
    return 0;
}