❶ c語言程序亂碼
代碼,看注釋:
#include<stdio.h>
#include<string.h>
intmain()
{voidreverse(charc[],charb[],intj);
charc[100],b[100]={0};
inti,j;
printf("putchar:");
scanf("%s",c);/*需要用scanf獲取輸入*/
j=strlen(c);
printf(" ");
reverse(c,b,j);
printf("thereversedcharactersare ");
for(i=0;i<j;i++)
printf("%c",b[i]);
printf(" ");
return0;
}
voidreverse(charc[],charb[],intj)
{inti=0;
while(i<j)
{b[i]=c[j-i-1];/*需要多減1*/
i++;}
}
❷ 為什麼C語言編譯出來會亂碼
TC不支持中文吧。在TC下要引用小字型檔文件才可以顯示中文。
❸ C語言,輸出亂碼問題
while(1){if(feof(fp)!=0){ printf("到末尾了。。。\n"); break;}
else {fgets(str,120,fp);
printf("%s\n",str);//<<<<把這里的\n去掉,文件中如果有換行,gets會帶出,文件中如沒有,你也不要添加它,這樣如果一個漢字正好分開成兩次讀出的,也不會因為你的該死的回車符而被破壞
}}
❹ C語言編程出現漢字輸出亂碼現象
C語言中一個漢字是由兩個位元組來表示的
而C語言編程主要是以位元組為單位來顯示
所以你的C語言輸出中,如果漢字顯示只顯示了一個位元組,就會有亂碼出現了
正常的做法是,你的printf輸出時,符號的長度要為偶數位元組。
❺ C語言運行的時候漢字全部亂碼怎麼回事
1、漢字亂碼是因為緩沖區有字元,需要用fflush(stdin);來清空鍵盤緩沖區,
使用getch等都是治標不治本的辦法,可以多學習一下fflush的使用,對於大批量的手動輸入,很用。
2、常式:
#include"stdio.h"
#include"stdlib.h"
#include<conio.h>
main()
{
charx;
while(1)
{
printf("請輸入一個小寫字母:");
fflush(stdin);//清空鍵盤緩沖區
x=getchar();
printf("大寫字母為: ");putchar(x-32);
}
}
❻ c語言 為什麼會亂碼
你輸入的逗號是中文的,改為英文輸入法輸入。
❼ C語言出現亂碼
有兩個問題:
一、變數a是float型,用%d輸入輸出會出錯,可以考慮把變數d定義成int型;
二、姓名是字元串,不是字元,可以考慮用字元數組來存儲。
修改如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta;
floatb,c;
chard[10];
printf("請輸入你的姓名: ");
gets(d);
printf("請輸入你的年齡: ");
scanf("%d",&a);
printf("請輸入你的身高m: ");
scanf("%f",&b);
printf("請輸入你的體重kg: ");
scanf("%f",&c);//以下代碼測試輸入的正確性
printf("姓名:%s ",d);
printf("年齡:%d ",a);
printf("身高:%.2fm ",b);
printf("體重:%.2fkg ",c);
return0;
}