ページ 11

構造体配列を用いたプログラムについて

Posted: 2016年8月17日(水) 14:42
by tk70
C言語初心者です。macでx-codeを使っています。
構造体配列を用いて、入力3回、出力3回を繰り返すプログラムを作りたいのですが、
1度目のgenderの部分で止まってしまいます。nameは出力されるのに同じ形のgenderがなぜ止まるのかいまいちわかりません。
簡単な質問かもしれませんがよろしく御願いします。

コード:


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

typedef struct{
    char name[64];
    int year;
    char gender[64];
}people;

void people_scan(people *data);
void people_print(people data);

int main(void){
    int i;
    people data[3];
    for(i=0;i<3;i++){
    people_scan(&data[i]);
    }
    
    for(i=0;i<3;i++){
    people_print(data[i]);
    }
    return 0;
    
}

void people_scan(people *data){

    printf("name\n");
    scanf("%s",data->name);
    
    printf("year\n");
    scanf("%d",&data->year);
    
    printf("gender m or f\n");
    scanf("%s",data->gender);
    
    return;
    
    
}

void people_print(people data){
    
    printf("name = %s\n",data.name);
    printf("year = %d\n",data.year);
    printf("gender = %s\n",data.gender);//Thread1:breakpoint1.1
    
    return;
    
}

Re: 構造体配列を用いたプログラムについて

Posted: 2016年8月17日(水) 16:01
by みけCAT
tk70 さんが書きました:Thread1:breakpoint1.1
普通にブレークポイントを設定したからそこで止まっている、というわけではないですか?
Thread 1: breakpoint 1.1(Help in Xcode) | Treehouse Community

Re: 構造体配列を用いたプログラムについて

Posted: 2016年8月17日(水) 16:11
by tk70
ブレークポイントという機能を全く知りませんでした。解除したら動きました。
ありがとうございます。
初心者ですいません。