ciao a tutti!
sto tornando dopo un po' di tempo che l'avevo lasciato da parte, a ristudiare il c.
stavo facendo dei vecchi esercizi e tra questi ne ho uno che mi sta dando qualche problema.
potreste darmi un paio di dritte?

qui il testo dell'esericizio:
Scrivere un programma che acquisite due stringhe di dimensione di al più 30 caratteri verifica se la seconda è esattamente contenuta nella prima: in caso positivo visualizza 1 altrimenti 0. Esempi: “marconiere” “arco” → 1 “ricostruzione” “casa” → 0 “distrazione” “oneroso” → 0
ecco qua il codice:
codice:
#include <stdio.h>
#include <string.h>
const int N=31;

int main(int argc, char *argv[]){
      int i, j, flag;
      char stringa1[N], stringa2[N];

      printf("inserisci due stringhe\n");
      scanf("%s", stringa1);
      scanf("%s", stringa2);

      flag=1;
      for(i=0;stringa1[i]!='\0';i++)
          for(j=0;stringa2[j]!='\0';j++){
              if(flag==1 && stringa1[i]==stringa2[j])
                  flag=1;                   
              else{
                  flag=0;     
                  i++;        
              }         
          }
      if(flag)
          printf("1\n");    
      else
          printf("0\n"); 
      return 0;
 }

il problema è che sembra funzionare un po' quando vuole lui, ho provato a riscrivere il codice un po' di volte ma la salsa è sempre la stessa

manina?