输入输出 printf/scanf
输出函数 printf
int main(int argc, const char * argv[]) {
// 格式化输出各种类型数据
int intValue = 10;
printf("intValue --> %i\n", intValue); // intValue --> 10
float floatValue = 3.141592653589793;
printf("floatValue --> %f\n", floatValue); // floatValue --> 3.141593
double doubleValue = 3.1415926535897932;
printf("doubleValue --> %lf\n", doubleValue); // doubleValue --> 3.141593
char charValue = 'a';
printf("charValue --> %c\n", charValue); // charValue --> a
printf("&charValue --> %p\n", &charValue); // &charValue --> 0x7ffeefbff50f
// 位宽
printf("intValue --> %5i\n", intValue); // intValue --> 10 默认右对齐
printf("intValue --> %-5i\n", intValue); // intValue --> 10 加减号变成左对齐
printf("intValue --> %05i\n", intValue); // intValue --> 00010 空位使用0顶替
printf("floatValue --> %f\n", floatValue); // floatValue --> 3.141593
printf("floatValue --> %.2f\n", floatValue); // floatValue --> 3.14 保留2位小数
printf("floatValue --> %.10f\n", floatValue); // floatValue --> 3.1415927410 float 有效位数是7位,超过7位后面的数字就不准了
// 超过7位有效数字使用double
printf("doubleValue --> %.16lf\n", doubleValue); // doubleValue --> 3.1415926535897931 // double 有效数字为15位,第16位也会不准
printf("floatValue --> %.*f\n", 3, floatValue); // floatValue --> 3.142 保留小数位可以用变量代替,格式化的时候使用*号代替
return 0;
}
输入函数 scanf
接收输入的值
// 1、定义变量
int number;
// 2、利用scanf函数接受用户输入的数据
printf("请输入一个整数:\n");
scanf("%i", &number); // 接收输入的时候要接收内存地址
// 3、输入接收到的数据
printf("number --> %i\n", number);
接收多个输入的值
// 1、定义2个变量保存用户输入的数据
int num1, num2;
// 注意:利用scanf接收多个数据的时候,输入的内容要求和"格式化字符串"中的一模一样,如果输入的数据与格式化字符串中的不匹配,那么scanf函数会自动终止
printf("请输入2个值,用逗号隔开,例如 100, 200\n");
// scanf("%i, %i", &num1, &num2); // 输入2个值需要用逗号隔开,例如:100, 200
// 如果使用scanf接收多个参数时,没有使用任何符号隔开,需要使用空格将多个参数隔开
// 或者输入一个参数后敲回车,在输入第二个参数
// 如果格式化字符串中有%c除外
scanf("%i%i", &num1, &num2);
// 3、将输入的2个参数相加
int result = num1 + num2;
// 4、输出接收到的数据
printf("result --> %i\n", result);