填空题:程序输入一个数字字符组成的字符串(字符串长度不超过10),将该字符串转换为整型数据并输出。阅读下面程序,找出程序中存在的错误,并
程序输入一个数字字符组成的字符串(字符串长度不超过10),将该字符串转换为整型数据并输出。阅读下面程序,找出程序中存在的错误,并改正。(要求:按照错误代码所在行有小到大顺序改正错误)
c
#include <stdio.h>
main()
{
int a = 0, i;
char *str;
scanf(“%s”, str);
for (i = 0; i<10; i++)
if(‘0’ <= str[i] <= ‘9’)
a = a * 10 + str[i] - ‘0’;
printf(“%d”, a);
}
1.行号:,错误:,改正:。
2.行号:,错误:,改正:。
3.行号:,错误:,改正:
答案:
第1空:5 ||
第2空:char *str || char *str; || *str || *str; ||
第3空:char str[10] || str[10] || str[10]; || char str[10]; ||
第4空:7 ||
第5空:i < 10 || i<10 ||
第6空:str[i] != 0 || str[i] || str+i || str[i] != 0 ||
第7空:8 ||
第8空:‘0’ <= str[i] <= ‘9’ || '0'<=str[i]<='9' ||
第9空:‘0’ <= str[i] && str[i] <= ‘9’ || str[i] >=‘0’ && str[i] <= ‘9’ || (str[i] >=‘0’) && (str[i] <= ‘9’) || str[i] <= ‘9’ && str[i] >= '0' || (str[i] <=‘9’) && (str[i] >= ‘0’) ||
c
#include <stdio.h>
main()
{
int a = 0, i;
char *str;
scanf(“%s”, str);
for (i = 0; i<10; i++)
if(‘0’ <= str[i] <= ‘9’)
a = a * 10 + str[i] - ‘0’;
printf(“%d”, a);
}
1.行号:,错误:,改正:。
2.行号:,错误:,改正:。
3.行号:,错误:,改正:
答案:
第1空:5 ||
第2空:char *str || char *str; || *str || *str; ||
第3空:char str[10] || str[10] || str[10]; || char str[10]; ||
第4空:7 ||
第5空:i < 10 || i<10 ||
第6空:str[i] != 0 || str[i] || str+i || str[i] != 0 ||
第7空:8 ||
第8空:‘0’ <= str[i] <= ‘9’ || '0'<=str[i]<='9' ||
第9空:‘0’ <= str[i] && str[i] <= ‘9’ || str[i] >=‘0’ && str[i] <= ‘9’ || (str[i] >=‘0’) && (str[i] <= ‘9’) || str[i] <= ‘9’ && str[i] >= '0' || (str[i] <=‘9’) && (str[i] >= ‘0’) ||