こんにちは、配列へのデータの入力について質問があります
'\n'
このコードでscanf が配列の最初の要素に格納されるのはなぜですか?
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
int main (void)
{
// Global declarations
int str_length;
char str[MAX];
int count;
char temp;
// Statements
// prompt user for string length
printf("Enter string length: ");
scanf("%d", &str_length);
printf("Enter string: ");
// input string
for(count = 0; count < str_length; count++)
{
scanf("%c", &str[count]);
printf("%c", str[count]);
}
for(count = 0; count < str_length; count++)
{
temp = str[0]; // set temp to the first element
str[count] = str[count+1]; // set the next element to be the first element
str[str_length-1] = temp; // swap the first element and the last element
puts(str);
}
system("PAUSE");
return 0;
}
最初の要素である 1 の代わりに配列に入力1234567890
すると、最初の要素は'\n'
代わりに改行文字になりました。
助けてくれてありがとう。