私はすでに他の関連する質問を見ました、そしてそれらのどれもこのケースを助けませんでした。
質問のタイトルに警告が表示されています。コードmain
は次のとおりです。
int main( int argc, char *argv[] ) {
char *rows;
int i, n;
printf("\nEnter the amount of rows in the telephone pad: ");
scanf("%d", &n);
rows = (char *) malloc( sizeof( char ) * n );
printf("\nNow enter the configuration for the pad:\n");
for( i = 0; i < n; i++ ) {
scanf("%s", &rows[i]);
printf("\n\t%s\n", rows[i]);
}
return 0;
}
ユーザーは、にスキャンされる番号(たとえば、4)を入力する必要がありますn
。スペースは電話パッドの列のためにmallocされています。次に、ユーザーn
は電話パッドの構成の行数を入力します。例は次のとおりです。
123
456789.0
。
_
printf
そのため、最後のステートメントでこのエラーが発生する理由について混乱しています。
注:私も試しscanf("%s", rows[i]);
ました:それでもエラーが発生しました。
注2:とにかくプログラムを実行してみました。セグメンテーション違反が発生しました。
注3:.cプログラムの先頭にあります#include <stdio.h>
。
注4:私はそのようにプログラムをgccしました:。#include <stdlib.h>
gcc -ansi -pedantic -Wall tele.c
お手伝いありがとう。