#include <stdio.h>
#include <string.h>
void main()
{
/*
//哪一种格式不合理
int a, b;
double c;
//scanf("%d,%x,%f", &a, &b, &c);//ok
//printf("%d, %x, %f", a, b, c);
//scanf("%d,%d,%e", &a, &b, &c);//ok
//printf("%d, %d, %e", a, b, c);
scanf("%o,%x,%o", &a, &b, &c);//%o以八进制数形式处理整数
printf("%o, %x, %o", a, b, c);
//scanf("%d,%o,%e", &a, &b, &c);//ok
//printf("%d, %o, %e", a, b, c);
*/
/*
//字符串数组后期赋值方法
char s[10];
//s = "abcd";//error C2106: '=' : left operand must be l-value
strcpy(s, "abcd");
printf("%s strlen(s) = %d\n", s, strlen(s));//abcd strlen(s) = 4
*/
/*
int c[3][4];
c[1][4] = 4;
*/
/*
//求结果
//input 5
int x;
scanf("%d", &x);
if(x++>5)
printf("%d\n", x);
else
printf("%d\n", --x);//5
*/
/*
//求结果
char str[] = "\n\t\\\0ab";
int len;
len = sizeof(str);//7
len = strlen(str);//3
;
*/
/*
//多种参数格式化输入
int a;
char b;
char c[3];
printf("input [int]a [char]b [char*]c\n");
scanf("%d %c %s", &a, &b, c);
printf("int a = %d char b = %c char c[3] = %s\n", a, b, c);
*/
/*
//数组循环赋值
int num = 0;
int columns[3];
while((num < 3) && (scanf("%d", &columns[num]) == 1))
{
printf("columns[%d] = %d\n", num, columns[num]);
num++;
}
printf("num = %d columns[%d] = %d", num, num, columns[num]);
*/
/*
//哪一个字符串赋值正确的,定义的时候赋值都正确
//char str[5] = "abcd";//ok
//char str[] = "abcd";//ok
//char *str = "abcd";//ok
//char str[5] = {'a', 'b', 'c', 'd'};//ok
//printf("%s\n", str);
//先定义后赋值就不对了
char String[5];
String = "abcd";//error C2106: '=' : left operand must be l-value
//strcpy(String, "abcd");//ok
printf("%s\n", String);
*/
/*
//两个数值交换
int a = 10;
int b = 5;
printf("Before change:\ta = %d, b = %d\n", a, b);
//加减法
//a = a + b;
//b = a - b;
//a = a - b;
//异或法(推荐)
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("After change:\ta = %d, b = %d\n", a, b);
*/
/*
int nBit;
//第二位置位
int a = 3;//011
a |= 1<<2;//111
printf("%d\n", a);
//第二位清位
a &= ~(1<<2);//011
printf("%d\n", a);
//获取第二位
nBit = (a>>2) & 0x01;//0
printf("%d\n", nBit);
*/
/*
//[24] [180] [42] [other]
int a[3][4] = {1,3,5,7, 9,11,13,15, 17,19,21,23};
int (*p)[4] = a;
int i, j, k=0;
for(i=0; i<2; i++)
for(j=0; j<2;j++)
k = k+ *(*(p+i) + j);
printf("%d\n", k);//24
*/
}