[C言語]2進数から10進数への変換

#include <stdio.h>
#include <stdlib.h>

int main(){

	char c[128];
	int i, n;

	printf("2進数に10進数に変換します\n");
	printf("2進数:\n");fflush(stdout);

	gets(c);
	// scanf("%d",&n);
	i=0; n=0;

	while(1){
		if(c[i]=='1') n = n+1;

		i=i+1;
		if(c[i]=='\0') break;
		n=n*2;
	}
	printf("10進数=%d\n", n);

	return 0;
}

$ ./main
2進数に10進数に変換します
2進数:
11111
10進数=31