スペースを入れた場所に " - "を印刷する代わりに、このプログラムを与えてスペースを " - "で置き換えるように関数を変更しました。関数を変更して文字列中のスペースを中間のケースに置き換える " - "
#include<stdio.h>
void sp_to_dash(const char *s);
int main(){
sp_to_dash("this is a test");//using the function
return 0;
}//end of main
void sp_to_dash(const char *str){//start of the function
while(*str){//start of while
if(*str==' ')printf("%c",'-');
else printf("%c",*str);
str++;
}//end of while
}//end of function
と私は実際にそれを変更しなかったし、それが働いたがsmiliarのように:
#include<stdio.h>
void sp_to_dash(char *s);
int main() {
char str[] = "this is a test";
sp_to_dash(str);
printf("%s", str);
getchar();
return 0;
}//end of main
void sp_to_dash(char *str){
while (*str) {
if (*str == ' ') *str= '-';
str++;
}//enf of while
}//end of sp_to_dash
は今、私はすぐに機能に送信元のコード(そのまま1)で、何かを理解しません文字列とそれを受け入れて2番目のコード(変更された1) 私は新しい文字列それは受け入れることのために:私はこれに似たようなことができなかった理由を
char str[]="this is a test";
:
#include<stdio.h>
void sp_to_dash(char *s);
int main() {
sp_to_dash("this is a string");
return 0;
}//end of main
void sp_to_dash(char *str){
while (*str) {
if (*str == ' ') *str= '-';
str++;
}//enf of while
}//end of sp_to_dash
文字列リテラルは読み取り専用で、SOおよび/またはgoogleで検索します。 –