回答編集履歴

6 変更

A.Ichi

A.Ichi score 3944

2017/11/06 07:58  投稿

char *str = "Hello"; 文字のポインターstrを定義し、文字列"Hello"の先頭アドレスが入りますの意味です。
printf("文字列は%sです。\n", *str); とすると4バイトのアドレスの値として扱かわれエラー(アドレス例外)になると思われます。
```c
#include<stdio.h>
int main()
{
   char *str = "Hello";
   char * str = "Hello";
   printf("文字列は%sです。\n", str);
   printf("先頭文字は%cです。\n", *str);
   printf("二番目文字は%cです。\n", str[1]);
   printf("文字列strのアドレスは%pです。\n", str);
   return 0;
}
```
```C
#include<stdio.h>
int main()
{
   char str[10] = "Hello";
   printf("文字列は%sです。\n", str);
   printf("先頭文字は%cです。\n", *str);
   printf("二番目文字は%cです。\n", str[1]);
   printf("文字列strのアドレスは%pです。\n", str);
   return 0;
}
```
5 追加

A.Ichi

A.Ichi score 3944

2017/11/06 07:55  投稿

char *str = "Hello"; 文字のポインターstrを定義し、文字列"Hello"の先頭アドレスが入りますの意味です。
printf("文字列は%sです。\n", *str); とすると4バイトのアドレスの値として扱かわれエラー(アドレス例外)になると思われます。
```c
#include<stdio.h>
int main()
{
   char *str = "Hello";
   printf("文字列は%sです。\n", str);
   printf("先頭文字は%cです。\n", *str);
   printf("二番目文字は%cです。\n", str[1]);
   printf("文字列strのアドレスは%pです。\n", str);
   return 0;
}
```  
```C  
#include<stdio.h>  
 
int main()  
{  
   char str[10] = "Hello";  
 
   printf("文字列は%sです。\n", str);  
   printf("先頭文字は%cです。\n", *str);  
   printf("二番目文字は%cです。\n", str[1]);  
   printf("文字列strのアドレスは%pです。\n", str);  
 
   return 0;  
}  
```
4 変更

A.Ichi

A.Ichi score 3944

2017/11/06 07:48  投稿

char *str = "Hello"; 文字のポインターstrを定義し、文字列"Hello"の先頭アドレスが入りますの意味です。
printf("文字列は%sです。\n", *str); とすると4バイトのアドレスの値として扱かわれエラー(アドレス例外)になると思われます。
```c
#include<stdio.h>
int main()
{
   char *str = "Hello";
   printf("文字列は%sです。\n", str);
   printf("先頭文字は%cです。\n", *str);
   printf("二番目文字は%cです。\n", str[1]);  
   printf("文字列strのアドレスは%pです。\n", str);
   return 0;
}
```
3 変更

A.Ichi

A.Ichi score 3944

2017/11/03 19:26  投稿

char *str = "Hello"; 文字のポインターstrを定義し、文字列"Hello"の先頭アドレスが入りますの意味です。
printf("文字列は%sです。\n", *str); とすると4バイトのアドレスの値として扱かわれエラーになると思われます。
printf("文字列は%sです。\n", *str); とすると4バイトのアドレスの値として扱かわれエラー(アドレス例外)になると思われます。
```c
#include<stdio.h>
int main()
{
   char *str = "Hello";
   printf("文字列は%sです。\n", str);
   printf("先頭文字は%cです。\n", *str);
   printf("文字列strのアドレスは%pです。\n", str);
   return 0;
}
```
2 変更

A.Ichi

A.Ichi score 3944

2017/11/03 19:23  投稿

間違えております修正中です。
char *str = "Hello"; 文字のポインターstrを定義し、文字列"Hello"の先頭アドレスが入りますの意味です。
printf("文字列は%sです。\n", *str); とすると4バイトのアドレスの値として扱かわれエラーになると思われます。
```c
#include<stdio.h>
int main()
{
   char *str = "Hello";
   printf("文字列は%sです。\n", str);
   printf("先頭文字は%cです。\n", *str);
   printf("文字列strのアドレスは%pです。\n", str);
   return 0;
}
```
1 変更

A.Ichi

A.Ichi score 3944

2017/11/03 19:15  投稿

読み込みの部分のみですのでこう参考まで
```c言語
   char ch[256];
   int i;
   for (i=0; i<line; i++) {
       // fscanf(fp,"%*[^,]%lf,%lf,%lf\n",a+i,h+i,w+i);
       fscanf(fp,"\n%[^,],%lf,%lf,%lf",ch,a+i,h+i,w+i);
       printf("%s %lf %lf %lf\n",ch,*(a+i),*(h+i),*(w+i));
   }
```
間違えております修正中です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る