if (num1 > num2)
{
printf(“%d”,num1);
}//是标准的格式
可
if (num1 > num2)
printf(“%d”,num1);//可这样程序也能跑
想问一下{}的意义是什么呢?{}有什么特殊情况的作用吗?
如果if只有1行语句,{} 可以写也可以不写
如果有多行语句,必须写
所以你的情况,只有一个printf,两种都是对的。
在C语言中,大括号{}通常用于定义代码块,也称为复合语句。代码块中的语句可以被视为一个整体,可以在程序中的不同位置被调用和执行。此外,大括号还用于定义结构体、数组和初始化器等语法结构。
一般来说if后面跟一条语句的话可以省略{}但是跟多条语句的话就不能省略了
在做逆序输出以及判断回文数题目之前,先做下这道题,如何计算用户输入的数是几位数呢?
思路:假设用户输入的数据是四位数1234
。
我们知道,1234%10=4
,我们就取到了用户输入数值中末位数字4
这个数字,这时候我们就知道用户输入的数至少是个位数
了(废话)。
我们还知道,1234/10=123
,我们可以利用他把用户输入的数值更新,更新之后,猜到没,我们再继续走步骤一,如果走得动,我们又知道用户输入的数值至少是两位数
了。
就这样再更新成12
,取得末位数字2
,我们就知道用户输入数值至少为三位数
了,再更新成1
,取得末位数字1
,我们就知道用户输入的数值至少为四位数
了这时候1/10=0
,完犊子,更新不了了,停止,我们就知道用户输入的数值,最终是四位数
。
具体代码如下:
#include <stdio.h>
int main(void)
{
int number = 0; //用来存放用户输入的数值
int count = 0;//用来记录我们猜测的数值位数。
printf("请输入一个数,我来判断你输入的是几位数:\n");
scanf("%d", &number);
while (number != 0)//当number/10等于0时
{
number = number / 10;//更新number
count++;//先更新在记录,先记录在更新的话记录的是前一次数值的位数。
}
printf("您所输入的数是%d位数", count);
return 0;
}
请输入一个数,我来判断你输入的是几位数:
56654523
您所输入的数是8位数
C语言中的{}是用来表示一个代码块的起始和结束。在C语言中,代码块由{}包围,可以包含多条语句,用来组织和控制这些语句的执行顺序。
{}的作用有以下几个方面:
控制语句的范围:{}可以用来界定控制语句(如if、for、while等)的范围,使得控制语句只对{}内的语句生效。
定义局部变量:{}可以用来定义局部变量,因为在C语言中,变量的作用域为其定义的代码块范围内。
定义函数体:在函数定义中,函数体也是用{}包围的。
规范化代码结构:使用{}可以提高代码可读性,使得代码的结构更加清晰明了。
以下是一个示例来展示{}在C语言中的使用:
#include<stdio.h>
void func(int num) {
if (num > 0) {
printf("Number is positive.\n");
} else {
printf("Number is negative.\n");
}
}
int main() {
int a = 10;
if (a > 5) {
printf("a is greater than 5.\n");
} else {
printf("a is not greater than 5.\n");
}
{
int b = 20; // 定义局部变量b
printf("a + b = %d", a + b);
}
func(a);
return 0;
}
在上面的例子中,{}分别用来界定if语句和代码块中的语句范围,以及定义局部变量b的作用域范围。同时,函数体、函数定义也使用了{}进行界定。
总结来说,C语言中的{}用来界定代码块的范围,控制语句的执行范围,定义局部变量的作用域和规范化代码的结构。没有特殊情况下的用途。
如果{}中只有一行语句,{}可省略不写