C语言问题

#include<stdio.h>main(){inti;for(i=10;i<=1000;i++)if(i%2==0&&i%3==0&&i%7==0)printf("%... #include <stdio.h>
main()
{
int i;
for (i=10; i<=1000; i++)
if (i%2==0&&i%3==0&&i%7==0)
printf("%5d",i);
}

为什么要加IF?不加IF为什么会错?
为什么要加括号~谁告诉我下
那这个程序如果不用IF来做的话~可以做的出来吗?
- -我还学到指针啊
你说的我真不明白
展开
 我来答
xfei2005
2011-01-06 · 超过13用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:33.2万
展开全部
程序的功能是输出10-1000之间所有能同时被2,3,7整除的数。
加了if就是为了判断,如果满足条件(%是取余操作,如果余数等于0,则说明能被整除的),则输出,不满足则继续判断下一个数。
括号是必须的,这个C语言标准中的规定,没有括号是无法通过编译的
但是该程序不用if语句同样能得到所要的结果,请看下面的程序:
#include <stdio.h>
main()
{
int i;
for (i=10; i<=1000; i++)
i%2==0&&i%3==0&&i%7==0 ?printf("%5d",i):0;
}

这个程序和你给出的程序的输出是完全一样的,这里用到了一个三目操作符? :

希望你能努力学习,打好基础。还有问题的话可以给我发消息哈。
我不知道bd
2011-01-06 · TA获得超过2.1万个赞
知道大有可为答主
回答量:6825
采纳率:50%
帮助的人:7148万
展开全部
IF后面是要加括号的,即 if(……),这个是C语言规则来的。i%2==0&&i%3==0&&i%7==0这一句如果不加IF的话也行,只要在后面加个分号以及去掉括号就行了。不过不能求出能同时被2、3、7整除的数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mrouran
2011-01-06 · 超过27用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
1.if是判断语句表达式的关键词 ,判断成立的话将执行下面的语句,即printf("%5d",i); 。不成立将进入下一轮循环。本段中如果只删除IF 肯定出错,==(两个等号是判断表达式用的,在赋值语句中会出错),如果将if (i%2==0&&i%3==0&&i%7==0)整个去掉不会出错,那将不用判断 if (i%2==0&&i%3==0&&i%7==0)是否正确都执行printf("%5d",i); 否则,只在判断为正确情况下执行。
2.IF后面的括号,在本片段中可去掉,IF后的括号主要是用于多个执行语句(即一个判断语句有好几个分号;隔开时),通常情况下加个括号是个好习惯,避免以后出现多个判断语句放在一起时忘记掉用括号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nphccx
2011-01-06 · TA获得超过3938个赞
知道小有建树答主
回答量:1145
采纳率:0%
帮助的人:974万
展开全部
t是上一行定义的字符型的指针数组,newstr是一个长度为80位的数组,t=newst就是将newst[80]这个数组里面的内容赋给t,因为数组赋值只能是把数组在堆栈中地址的第一位赋给他,所以要用指针数组形式赋值。
/*char *fun(char *p, char c_begin, char c_end)//函数定义
{
char *t;
t=newstr;
while(*(p++)!=c_begin);//P如果不匹配第一个字符就继续执行以下部分并且自加一,寻下一位
p--;
while(*p!=c_end)//一直寻到和第二个字符匹配时才跳出循环
*(t++)=*(p++);//将匹配的部分赋给指针数组t
*(t++)=*(p++);
*t='\0';
return newstr */返回给t得到你的要求
上面这一部分就是你的函数要求(输入一个字符串后再输入2个字符,输出此字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符)

void main()//主函数部分
{
char str[80],c_begin,c_end;//定义数组来装这个字符串
char *fun(char *p,char c_begin,char c_end);//函数调用
scanf("%s",str);//输入字符串
getchar();
c_begin=getchar();
getchar();
c_end=getchar();
puts(fun(str,c_begin,c_end));//得到满足要求的字符串
}
楼主,我解释的这么清楚你都不知道的话我就太伤心了,你也可以去看看C语言基础书了!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式