为什么它不执行程序里else语句的printf("invalid input");?

#include
#include
int main(){
int i,a;
char string[100],copy[100];

for(a=0;;a++){
    printf("print your string: ");
    scanf("%s",string);puts(string);
    for(i=0;i<256;i++){
        strcpy(copy,string);
        if(copy[i] !='0' )
            continue;
         else {
            printf("Invalid input!\n");
            break;
        }
    }
    
    char z;
    printf("do you want to continue? choose Yes or No ['Y'or'N']: ");
    getchar();
    scanf("%c",&z);getchar();//printf("%c\n",z);
    if(z == 'Y')
        continue;
    else if(z == 'N')
        break;  
    
}
printf("Bye.\n");
return 0;

}
Output:

img



'0'改为'\0'