| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:谁看的懂这个程序,帮我降讲解下,有些地方不会~
只看楼主 加入收藏
淡淡的坏气
Rank: 1
来 自:广东
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-8-27
结帖率:100%
收藏
已结贴  问题点数:6 回复次数:2 
谁看的懂这个程序,帮我降讲解下,有些地方不会~
#include <stdio.h>

void main()

{

char c[256];
int a[256]={0};
int i,j,k;
int x=0,y,z;
int n=0;
for(i=0;c[i-1]!=10;i++)//i是字符串长度,下面有用<这里的c[i-1]不是很懂>
scanf("%c",&c[i]);//输入字符串,存数组中
for(j=0,k=0;j<i;j++)
{
if(c[j]>='0' && c[j]<='9')
{
a[k]=a[k]*10+(c[j]-'0');<还有这里的起什么作用>
x=1;
if(j==i-1)<还有这里的起什么作用>

k++;
}
else
{
if(x==1)
k++;
x=0;
}
}


int sum=a[0];//等于第一个数字
for(j=0,k=1;j<i;j++)
{
if(c[j]=='+')
{
sum=sum+a[k];
k++;
}
else if(c[j]=='-')
{
sum=sum-a[k];
k++;
}
else if(c[j]=='*')
{
sum=sum*a[k];
k++;
}
else if(c[j]=='/')
{
sum=sum/a[k];
k++;
}
}
printf("%d\n",sum);//输出结果


return 0;

}
会的都帮我注释讲解下这个计算器程序把!新手在这里谢谢了哦
搜索更多相关主题的帖子: 讲解 
2010-08-30 15:41
encounter
Rank: 5Rank: 5
来 自:扬州
等 级:职业侠客
威 望:2
帖 子:150
专家分:359
注 册:2010-7-24
收藏
得分:3 
顶一下

for(i=0;c[i-1]!=10;i++)//i是字符串长度,下面有用<这里的c[i-1]不是很懂>

ASC代码10代表的是换行
也就是你输入回车,循环停止

继续关注。。。。。。。

ping   nbtstat   netstat   tracert    nat   at    ftp   telnet..................
2010-08-30 17:02
S_12s
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:110
专家分:670
注 册:2010-7-21
收藏
得分:3 
2楼说的对;
a[k]=a[k]*10+(c[j]-'0');<还有这里的起什么作用>是将你所输入的字符(在运算符以前的字符)转换成十进数,存在a[k]中;
if(j==i-1) k++; <还有这里的起什么作用>这句好像没什么用,去掉也可以……
2010-08-30 17:12
快速回复:谁看的懂这个程序,帮我降讲解下,有些地方不会~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014713 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved