C语言:判断一个数是否能同时被3和5整除

2025年03月12日 14:45
有4个网友回答
网友(1):

先说scanf(),这是一个库函数,它有它的返回值,祥情参阅http://baike.baidu.com/view/1390039.htm?fr=ala0_1_1
所以,你的scanf("%d", &a)它返回了int类型的1,说明成功读入了一个数。如果你读如了两个数,如scanf("%d%d", &a, &b),那么它返回的将是int类型的2。。。
所以while()表达式的真假为真。

对于return 0;也没有哪本书上有过对它的描述给我留下了深刻的记忆,只记得有说它是返回给操作系统,表示程序的正常结束。如果你再baidu一下的话,你会发现一些,如:
这是一个好的习惯;
要不要无所谓;
对于有的编译器是必须的;
等。。。
所以建议还是留着它吧,当然,对于main()的返回也要作相应的修改:int main(){...}

网友(2):

不是你那样理解的,scanf("%d",&a)这里是调用的scanf函数,这个你要看scanf的反回值是多少,在C中定义的scanf反回的值是1,而不是在使用变量a的值去与1进行比较,因此不管你是怎样调用scanf,只要scanf执行成功都会反回1,这就是为什么你的scanf("%d",&a)==1;总为真的原因.

return 语句一般是用在函数中的,主要是用于反回一个值,而return就表过这个函数反回值为0,而你这个程序中只有一个反回类型为void(表示没有反回值)的main函数,因此在这里使用return 0;反回一个整数值0,是错误的。

网友(3):

scanf("%d",&a)==1;
的意思是 只要不是0就可以 0以外都是真
void main()其实这个是一个没有返回值的函数
return 0 可有可无。
return 常用于子函数当中 用来得到子函数的运算结果如 int loop()表示返回值为整数
b=loop()
loop
{
int a
a++
return a
}
b就等于loop的返回值a 具体格式对不对我不保证哈,我好久没用了,但肯定是这个意思

网友(4):

unix/linux中,约定俗成一个程序返回0代表成功,-1代表失败。
主要用于script中作判断。