1
我很新的c和我已經發現,使用scanf函數後我的char *字符串參數被修改,輸入到c不會改變結束輸出也不是實際參數。儘管它看起來代碼的下一步確實會改變最終的輸出結果。我找不到任何這種在線發生的例子嗎?有人知道這是什麼嗎?我唯一想到的是,我在想念的東西,但我看不出它是什麼scanf後修改參數
#include <stdio.h>
#include <stdlib.h>
int method1(char *string){
char c;
printf("enter(y/n): ");
scanf("%s", &c);
printf("%s\n", string);
return 0;
}
int main() {
char *string = "string";
printf("%s\n", string);
method1(string);
return 0;
}
輸出: 字符串 輸入(Y/N):Y▒E▒