c語言亂碼
❶ 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語言編程出現漢字輸出亂碼現象
C語言中一個漢字是由兩個位元組來表示的
而C語言編程主要是以位元組為單位來顯示
所以你的C語言輸出中,如果漢字顯示只顯示了一個位元組,就會有亂碼出現了
正常的做法是,你的printf輸出時,符號的長度要為偶數位元組。
❹ 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;
}
❺ 為什麼C語言編譯出來會亂碼
TC不支持中文吧。在TC下要引用小字型檔文件才可以顯示中文。
❻ 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語言出現亂碼
有兩個問題:
一、變數a是float型,用%d輸入輸出會出錯,可以考慮把變數d定義成int型;
二、姓名是字元串,不是字元,可以考慮用字元數組來存儲。
修改如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
float b,c;
char d[10];
printf("請輸入你的姓名:\n");
gets(d);
printf("請輸入你的年齡:\n");
scanf("%d",&a);
printf("請輸入你的身高m:\n");
scanf("%f",&b);
printf("請輸入你的體重kg:\n");
scanf("%f",&c); //以下代碼測試輸入的正確性
printf("姓名:%s\n",d);
printf("年齡:%d\n",a);
printf("身高:%.2fm\n",b);
printf("體重:%.2fkg\n",c);
return 0;
}