0
可能有人指出錯誤在此意想不到輸出(指針)
#include <stdio.h>
void modify (char*s,int x,int y)
{
s[x]=s[y];
}
main()
{
char* s = "random";
modify(s,1,2);
}
程序突然結束。我知道這可能是一個非常簡單的問題,但我對c是新手。 謝謝!
可能有人指出錯誤在此意想不到輸出(指針)
#include <stdio.h>
void modify (char*s,int x,int y)
{
s[x]=s[y];
}
main()
{
char* s = "random";
modify(s,1,2);
}
程序突然結束。我知道這可能是一個非常簡單的問題,但我對c是新手。 謝謝!
這是因爲它在modify
的任務中崩潰。原因是指針指向一個不可修改的常量字符串。
如果要修改字符串,你可以聲明它作爲一個數組來代替:
char s[] = "random";
就是這樣。我曾經有過同樣的問題。此時應更換這一行:
char *s = "random";
隨着下列之一:
char s[] = "random";
如果i型 '的printf( 「\ n%C」,S [X]);' 該程序正常工作 –
有什麼期望?一個程序在代碼完成時結束。你發佈的是一個什麼都不做的程序。 –