初次使用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的值