大文字を小文字に変更し、小文字を大文字に変更するC関数を書いています。コードはエラーなしでコンパイルされますが、何も印刷されません。どうして?文字配列の変更がprintfで見えない
#include<stdio.h>
#include<String.h>
void NOMB_car_chif(char a[])
{
int i;
for(i=0; i<strlen(a); i++){
if(a[i]>=65 && a[i]<=90)
a[i]=a[i]+32;
else
a[i]=a[i]-32;
printf("%s" ,a);
}
}
void main()
{
NOMB_car_chif("Welcome To My Word");
}
「」は、「」である必要があります。 'void main'は' int main'です。文字列リテラルの文字は変更できません。 –
aschepler
未定義の動作です。 'void main'で始まるプログラムで何かが起こる可能性があります。 –
@AnttiHaapala ...実装がまれにしかサポートしていない場合 –