C 无效字符测试
当我用“é”执行时,它被接受,尽管测试!救命C 无效字符测试,c,encoding,character-encoding,C,Encoding,Character Encoding,当我用“é”执行时,它被接受,尽管测试!救命 #include <stdio.h> #include <string.h> int main () { char ch[10]; int i,k,k1; do { k=0; i=0; printf("Write a sentence without accentuated letters:\n"); scanf("%s",ch); k1=strlen(ch);
#include <stdio.h>
#include <string.h>
int main ()
{
char ch[10];
int i,k,k1;
do
{
k=0; i=0;
printf("Write a sentence without accentuated letters:\n");
scanf("%s",ch);
k1=strlen(ch);
while ((k==0)&&(i<k1))
{
if (ch[i]=='é') k=1;
i++;
}
}
while (k==1);
return 0;
}
#包括
#包括
int main()
{
char-ch[10];
inti,k,k1;
做
{
k=0;i=0;
printf(“写一个没有重音字母的句子:\n”);
scanf(“%s”,ch);
k1=strlen(ch);
而((k==0)&&(i问题可能在于编码。é
可以有不同的数字表示形式,具体取决于所使用的编码标准。如果源代码编辑器、编译器和命令行使用不同的编码,事情将永远不会以这种方式工作。您可能希望切换到UTF-8。通常最好用英语发布代码这里。好的,printf(“Donner une chaine de caracteres vide de caractères accentuées:\n”)——意思是--printf(“写一个没有重音字母的句子:\n”);很抱歉用了法语!请提供更多信息:您使用的是什么操作系统,您的源代码是什么?您的终端?如果您的源代码是拉丁文1,而您的输入代码是utf8,则无法工作。同样,如果您的源代码是拉丁文1,而您的终端代码是cp850(就像通常在windows上一样)