初次使用c,记录下摸索的细节。

1. printf("%d\n",a):整数a最大可为十位数。

      【用climits函数printf("%d\n",INT_MAX)发现int能表示的最大值为2^31-1(2147483647),即最多表示10 位 数,long long为int的两倍,纠正为                   printf(%I64d\n",(long long)111111*111111)】

2.sprintf(a,"%d",n)

      把整数n每一位依次转换为字符形式存入a数组中

         例如:

                 char a[10];
                 int n = 123,m =456;
                 sprintf(a,"%d%d",n,m);
                 for(int i = 0;i < 6; i++)
                       printf("%c",a[i]);             //输出123456

3.gets(a):接收字符串a(含空格),直到遇到换行符或者EOF

fgets(buf,maxn,fin):读取完整的一行(包括换行符)到buf数组中

  puts(a):输出字符串a(含空格),puts("dksfja")

   getchar():接收单个字符

   putchar():输出单个字符

   对比C++:

   cin.get():接收单个字符  

   cin.getline(a,10):接收字符串

   接收空格也可以用noskipws控制符

 4.

#include <cstdio>
int main()
{
    int a,b;
    char c;
    scanf("%d%d%c",&a,&b,&c);
    printf("%c",c);
    return 0;
}

输入1 2

      a

输出\n

读到两个整数后光标在换行符的位置作为字符c读入

 

6.%o: 8进制整数占位符

%d :10进制整数占位符

%x :16进制整数占位符

7.

int n,m;
scanf("%d",&n);
while(n--)
{
scanf("\n%c",&m);
printf("%c\n",m);
}

在scanf中的\n表示忽略一个换行符

8.%*c表示忽略一个字符型输入项

 9.scanf(%d,&a)返回1的值表示输入成功,否则返回-1

 常常使用在while循环中做简便写法

   如果题目要求输入0时表示输入结束:

  (scanf("%d",&n),n)返回n的值