在C中读取一个包含7个字符的字符串

时间:2016-10-09 15:26:54

标签: c string

我有:

char M[20] = "abcdabcdabcdabcd";

我可以将其打印为字符串或字符:

printf("%s\n", M); //print as string

for(i = 0;str[i] != '\0';i++) //print as characters
    {
        printf("%c",str[i]);
    }

我想读取一个包含7个字符的字符串并将其存储在M中,以便以后将其打印为字符串和字符(假设输入的7个字符为:ABCDEFG):

ABCDEFG //output of printf("%s\n", M); when printed as string
ABCDEFG abcdabcd //output of the for loop above

我的回答是:

for(K = 0;K<7;K++)
{
  scanf(" %1c", &M[K]);
}

但上述内容无效。

编辑:

输出

 ABCDEFGdabcdabcd

两种情况。

1 个答案:

答案 0 :(得分:-1)

您应该添加一条声明:M[7] = '\0'。字符串的最后一个字符应为&#39; \ 0&#39;。