本文目录一览:
- 1、c语言变量初始化的方式
- 2、[C语言]int型变量i初始值为2,表达式++i*i++的计算结果为什么是12?
- 3、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;in;++i)
{
if(a[i]t)
{
for(j=n;ji;--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;i6;++i)
printf("%d ",a[i]);
return 0;
}