|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- int main()
- {
- char name[50];
- int i=0;
-
- do
- {
- printf("请输入合法的数字:\n");
- scanf("%s",&name[i]);
- }
- while(name[++i]>=1&&name[++i]<=9);
-
- printf("结果是:%s\n",name);
-
- return 0;
- }
复制代码
输入整数存储到字符串中,遇到字符结束循环。
我输入两位数时,直接跳转到结果:如输入4,结果4;
输入两位数,正常运行,但再次输入一位整数,跳转结果:如输入47,48,1,输出47481。
求助,在输入一位整数时不跳转结果。
本帖最后由 巴巴鲁 于 2020-8-4 11:07 编辑
- #include <stdio.h>
- int main()
- {
- char name[50];
- int i = 0;
- char ch;
-
- for(i = 0; i < 49; i++) // 最多输入49个0~9的数,最后赋值给'\0'
- {
- printf("请输入合法的整数:\n");
- ch = getchar();
- getchar(); // 用来缓冲输入的回车
- if(ch >= '0' && ch <= '9')
- {
- name[i] = ch;
- }
- else
- {
- break;
- }
- }
- name[i] = '\0';
-
- printf("结果是:%s\n",name);
- return 0;
- }
复制代码
不过输入的只能是0~9的数,如果输入两位整数,结果就不对了,不知道符不符合
|
|