我一直在製作一個程序,從用戶接收標題電影,是時候了。該程序使用包含char title [20]和char time [20]數組的輸入字符串的結構體電影,然後定義2個指針數組,將結構體中掃描的字符串插入到它們中(指針數組)。掃描和複製處於一個while循環,當-1輸入到電影標題中時會停止。 直到現在它工作正常,但是當我退出循環時,我插入-1並打印電影名稱和時間輸出結果全部爲電影片名-1和電影時間的最後一個時間。如果有什麼不清楚的問我,請幫忙。這是代碼:電影定時顯示程序
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct movie {
char title[20];
char time[20];
};
char *movieTitle[20],*movieTime[20];
int movieCount=0;
int main() {
struct movie aMovie={"Hello","Hello"};
puts("*****Welcome to VOX cinemas*****");
puts("Please enter the movie title (enter -1 to end):");
scanf("%s" ,&aMovie.title);
while(aMovie.title[0]!='-'||aMovie.title[1]!='1') {
puts("Please enter the movie's time");
scanf("%s" , &aMovie.time);
movieTitle[movieCount]=aMovie.title;
movieTime[movieCount]=aMovie.time;
printf("movieTitle[%d]=%s\n",movieCount,movieTitle[movieCount]); //a checking print
printf("movieTime[%d]=%s\n",movieCount,movieTime[movieCount]); //a checking print
movieCount++;
puts("Please enter the movie title (enter -1 to end):");
scanf("%s", &aMovie.title);
}
printf("%s",movieTitle[0]);
int numberOfMovies=movieCount;
puts("********************************\n\n\nMovie Title\t\tMovie Time");
for(movieCount=0;movieCount!=numberOfMovies;movieCount++) {
printf("%s\t\t\t%s\n", movieTitle[movieCount],movieTime[movieCount]);
}
while(1);
}
哥們你真了不起! :D看起來像是在理解字符串如何被複制時遇到問題:S可以簡單地向我解釋一下嗎? – user3609643
yeahh好吧我明白了^^感謝很多隊友我欣賞它 – user3609643
隨時點擊綠色標記接受我的答案,如果它回答你的問題:) –