输入一串东西,除了正整数之外的全都算错,要判断出对不对,不对的话要可以重新输入直到正确为止,输入的符合要求的正整数之后要参与运算,求解该如何判断QAQ
比如0、负数、小数、字母、汉字、标点之类的全都判断为不符合要求
scanf("%s", s);的时候是不是自动先把s[100]清空了再输入的?我对这里不太清楚,不知道会不会存在第二次比第一次输入的字符串短而使得第一次输入的字符留下参与第二次判断的问题。。。
追答不会清空,也不会混淆的。因为字符串是用末尾的0作为结束标志,第二个输入的时候,将输入的字符从起始位置开始存入字符数组,然后在末尾加上0,如果第一次输入的比第二次输入的长,是会在第二次输入的末尾0后面留下来的,但不会影响使用,因为第二次处理的时候都是到0就结束了。
追问是指'\0'吗?
追答是的,'\0'就是0
本回答被提问者和网友采纳是这样输入的要求吗