本文目录一览:
- c语言变量初始化的方式
- [C语言]int型变量i初始值为2,表达式i*i的计算结果为什么是12?
- [C语言数组数据初始化为: 2,4,7,9,10, 现插入数字8后仍保持正序,编程实现?](#C语言数组数据初始化为: 2,4,7,9,10, 现插入数字8后仍保持正序,编程实现?)
c语言变量初始化的方式
变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。 初始化的方式一般有如下两种:
- 直接对变量进行赋予常量数值进行初始化;
- 通过同类型变量进行初始化。 举例说明如下:
// 以下属于第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;
}