当前位置: > 0...
题目
大侠~请问 if(t==c && (c=='-'&&i==0)) break这句什么意思为什么要判断i==0,后面为什么t==10的时候break
这是大整数计算的输入函数inscanf(+,10356,54654)
void inscanf(char c,char *&n1,char *&n2)
{
char t;
int i=0;
while(1)
{
t=getchar();
if(t==c && (c=='-'&&i==0)) break; //?
n1[i++]=t;
}
n1[i]=0;
i=0;
while(1){
t=getchar();
if(t==10) break; //?
n2[i++]=t;
}
n2[i]=0;
putchar('=');
}
感激不尽啊

提问时间:2020-07-22

答案
1、
if(t==c && !(c=='-'&&i==0)) break是说当输入字符与传过来的字符c相同并且传过来的字符c不为‘-’时,或者是输入字符与传过来的字符c相同并且i不等于0的时候,跳出while循环.
2、
判断i是否等于0是要保证当传过来的字符c为‘-’时,数组n1非空
3、
10为 '\n'的ASCALL码值,所以当输入回车时会跳出while
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.