%f,%lf 之间的区别
float a;
double b;
scanf("%f",&a);//接受的时候 float 需要 f
scanf("%lf",&a);//接受的时候 double 需要lf
float a;
double b;
printf("%f",a);打印的时候 float需要用f
printf("%f",b);
printf("%lf",b);//打印的时候 double既可以用f 也能用lf
%-3d :
占3个位置并且左对齐
printf("%-3c",a[i]);
h e l l o
printf("%3c",a[i]);
h e l l o
a+++b :
int main()
{
int a = 5, b = 7, c;
c = a+++ b; //a+++b 等于 a++ +b 运算符匹配到不能匹配,贪婪原则
printf("%d", c); // 12 a++返回值是5 再加b的值7 结果是12
return 0;
}
if(‘0‘) :
if(‘0‘)
{
//可以执行,因为字符‘0‘ 是 48
}
if(i = 0) :
if(i = 0)
{
//不会执行 ,因为表达式的值为0 i=3的表达式的值为3
}
#include <stdio.h>
int main(int argc, const char *argv[])
{
int i;
//当赋值为0时赋值表达式代表的逻辑值为假,所以下列语句不会执行
if (i=0) {
printf("i=0\n");
}
//当赋值为非0时赋值表达式代表的逻辑值为真,所以下列语句会执行
if (i=1) {
printf("i=1\n");
}
//当赋值为非0时赋值表达式代表的逻辑值为真,所以下列语句会执行
if (i=-1) {
printf("i=-1\n");
}
//逗号表达式代表的逻辑值为最后一个表达式的逻辑值,所以下列语句不会执行
if (i=1,i=0) {
printf("i=1,i=0\n");
}
//逗号表达式代表的逻辑值为最后一个表达式的逻辑值,所以下列语句会执行
if (i=0,i=1) {
printf("i=0,i=1\n");
}
return 0;
}
switch :
switch(值) //值可以是 char int 不能是float 不能是字符串
{
}
break 2 :
int main()
{
for (int i = 0; i < 10;i++)
{
switch (i){
case 3:
printf("%d", i); break 2;// C语言测试 编译不成功
case 4:
printf("%d", i); break;
}
}
}
sleep :
while (1)
{
printf("hello");
Sleep(1000); //vs2013 不加\n 也能一秒输入一个hello
//linux上 不加\n不能输出,加\n才能正常输出
}