質問: int main(void){ char str[256]; int i; char no,kazu,oomozi,komozi; printf("8-6"); printf("パスワード入力"); scanf("%s",str); for(i=0;str!='\0';i++){ if('0'<=str[i] && str[i]<='9') kazu++; } if(97<=str[i]&&str[i]<=122){ komozi++; } if(65<=str[i]&&str<=90){ oomozi++; } } if(6<=i && i<=10){ no=0; } else no++; if(no==0&&komozi==1&&oomozi==1komozi==1){ printf("正しい文字列です"); } else if(kazu==0){ printf("×です"); } else if(komozi==0){ printf("×です"); } else if(oomozi==0){ printf("×です"); } else if(komozi==0){ printf("×です"); } else{ printf("全てエラーです"); } } ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: > > for(i=0;str!='\0';i++){ > > > 条件式が間違ってます > > kazu++; > > > 初期化されずに使用されてます {} の対応が取れていない。数が違う #動作が正しいかどうかというのはべつのおはなし