我有一個小問題,下面的代碼。這是一個簡單的程序,它讀取兩個char和一個int數組。然後將所有內容存儲到另一個字符串中並打印出來。錯誤:圍繞堆棧變量「串」被損壞
#include <stdio.h>
#include <string.h>
int main()
{
char string [50];
char first [11];
char last [16];
int age = 0;
printf("Please type in your first name: ");
scanf("%s", first);
printf("Please type in your last name: ");
scanf("%s", last);
printf("Please type in your age: ");
scanf("%d", &age);
sprintf(string, "Your name is %s %s and you are %d years old.", first, last, age);
puts(string);
getchar();
getchar();
return 0;
}
現在程序運行良好,但是當我關閉它,我得到以下錯誤: 運行時檢查失敗#2 - 圍繞堆棧變量「字符串」已損壞。 這有點令人困惑,我找不出問題出在哪裏。我會感謝 任何建議。
不相關,但如果您有C99(或保證其某些部分),則應該使用`snprintf`來代替以防止發生這種問題。 – 2011-01-10 07:21:44