stdioライブラリのscanfで改行を掴むにはフォーマット文で末尾の改行を拾いに行けばいいだけです
実際のところ
10文字まで、それ未満は改行まで……
#include <stdio.h> int makeTitle(char str[]) { printf("\n\n###%s###\n\n", str); return 0; } int main() { char string[] = " "; scanf("%10[^\n]", string); makeTitle("文字列"); printf("%s\n",string); printf("%s\n",(string + 7)); makeTitle("文字"); printf("%c\n",(string[7])); printf("%c\n",*(string + 7)); printf("%c\n",(7[string])); printf("%c\n",*(7 + string)); return 0; }
$ ./sample.o sample hello this is good ###文字列### sample hel hel ###文字### h h h h