一、字符串存储在数组中
cpp
int main()
{
char* arr[7] = {"xiaoming","zhangsan","李四"};
printf("%s\n", arr[0]);
printf("%s\n", arr[2]);
return 0;
}
二、scanf()函数用法
2.1 scanf()输入字符串
cpp
int main()
{
char arr[100];
scanf("%s", arr);
printf("%s\n", arr);
for (int i = 0; arr[i] != '\0'; i++)
printf("%c ", arr[i]);
return 0;
}
2.2 scanf()输入格式用法
%d%d两个连在一起,输入框输入完第一个数字后,换行才能输入第二个
cpp
int main()
{
int a, b;
scanf("%d%d", &a,&b);
printf("%d %d\n", a,b);
return 0;
}
中间使用"-"间隔符,在输入框中输入完第一个数字后,输入"-"后,再输入第二个数字
cpp
int main()
{
int a, b;
scanf("%d-%d", &a,&b);
printf("%d %d\n", a,b);
return 0;
}
若输入1-234-56,并不是a=1,b=2,c=3,d=4...
实际上,在输入完"-"后,234会赋给b,第二个"-"会赋给c,导致格式错误
cpp
int main()
{
int a,b,c,d,e,f;
scanf("%d-%d%d%d-%d%d", &a,&b, &c, &d, &e, &f);
return 0;
}
三、 printf()函数用法
3.1 "#"用法
cpp
int main()
{
int n1 = 11,n2 = 2;
printf("%#03d\n",n1); //001
printf("%#02d\n",n2); //02
printf("%x\n", n1); //b
printf("%#x\n",n1); //0xb
return 0;
}
3.2 限定宽度
cpp
int main()
{
int n1 = 123;
printf("%5d\n",n1); //" 123"
printf("%-5d\n", n1); //"123 "
return 0;
}
3.3 总是显示正负号
cpp
int main()
{
int a = 1,b = -1;
printf("%+d\n",a); //+1
printf("%+d\n",b); //-1
return 0;
}
3.4 输出部分字符
cpp
int main()
{
char arr[] = "hello world";
printf("%.5s\n",arr); //hello
return 0;
}
四、数字、字符互转
4.1 字符转数字
cpp
int main()
{
int a = atoi("123");
int b = atoi("-123");
int c = atoi("a123");
int d = atoi("123a");
printf("%d\n", a); //123
printf("%d\n", b); //-123
printf("%d\n", c); //0
printf("%d\n", d); //123
return 0;
}
4.2 数字转字符
cpp
int main()
{
char arr[100];
int a = 123;
sprintf(arr, "%d", a);
printf("%s\n", arr);
for (int i = 0; arr[i] != '\0'; i++)
printf("%c ", arr[i]);
return 0;
}