学校で出たテストの問題です。
Posted: 2011年11月18日(金) 00:57
今学校で出た問題の復習をしていて、よくわからないエラーが出ました。
1~20までの数値を入力し、簡単なグラフを作成するという問題なのですが、
これのstr1[100] = "";というところでエラーが出て困っています。
エラーは、
Error E2034 test1.cpp 22: Cannot convert 'char *' to 'char' in function main()
というものでした。
ソースコード↓
#include <stdio.h>
#include <string.h>
int main(void)
{
int i, j, num[100];
char str1[100], str2[3] = "#";
printf("1~20までの整数を入力し、その後0を入力してください。");
for(i=0; i<21; i++){
scanf("%d", &num);
if(num == 0){break;}
if((num>21) || (num<0)){
i--;
printf("入力した値は正しくありません");
}
}
printf("----+----+----+----+\n");
for(i=0; i<21; i++){
str1[100] = "";
for(j=0;j<num+1;j++){
strcat(str1,str2);
}
printf("%s\n", str1);
}
printf("----+----+----+----+\n");
return 0;
}
書き込みが初なので至らない点もあるかもしれませんが、
お力を貸していただければ幸いです。
1~20までの数値を入力し、簡単なグラフを作成するという問題なのですが、
これのstr1[100] = "";というところでエラーが出て困っています。
エラーは、
Error E2034 test1.cpp 22: Cannot convert 'char *' to 'char' in function main()
というものでした。
ソースコード↓
#include <stdio.h>
#include <string.h>
int main(void)
{
int i, j, num[100];
char str1[100], str2[3] = "#";
printf("1~20までの整数を入力し、その後0を入力してください。");
for(i=0; i<21; i++){
scanf("%d", &num);
if(num == 0){break;}
if((num>21) || (num<0)){
i--;
printf("入力した値は正しくありません");
}
}
printf("----+----+----+----+\n");
for(i=0; i<21; i++){
str1[100] = "";
for(j=0;j<num+1;j++){
strcat(str1,str2);
}
printf("%s\n", str1);
}
printf("----+----+----+----+\n");
return 0;
}
書き込みが初なので至らない点もあるかもしれませんが、
お力を貸していただければ幸いです。