#include <stdio.h>
#include <stdlib.h> // for atoi
#define SIZE 10
int length(char arr[])
{
int i=0;
while(arr[i]!='\0'){
i++;
}
return i;
}
int power(int base, int n){
int result =1;
while (n != 0){
result *= base;
--n;
}
return result;
}
int my_atoi (char c[])
{
int i =length(c)-1;
int change =0;
int cti =0;
int count=length(c)-1;
while (i>=0){
change=c[i]-'0';
cti=cti+change*power(10,count);
count--;
i--;
}
return cti;
}
int isQuit (char arr[])
{
int i;
char x []="quit";
if (length(arr)<4||length(arr)>4){
return 0;
}
for (i=0;arr[i]!='\0';i++){
if (arr[i]==x[i])
return 1;
}
return 0;
}
int main(){
int a,b,c;
char arr [SIZE];
printf("Enter a word of positive number or 'quit': " );
scanf("%s", arr);
while( isQuit (arr)==0)
{
printf("%s\n", arr);
a = atoi(arr);
printf("atoi: %d (%#o, %#X)\t%d\t%d\n", a,a,a, a*2, a*a);
b = my_atoi(arr);
printf("my_atoi: %d (%#o, %#X)\t%d\t%d\n", b,b,b, b*2, b*b);
break;
}
return 0;
}这个代码运行之后为什么只会运行一次,而不是第二张图片所示呀,请问如何达到第二张的效果