Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自tolower()c的双输出_C_Tolower - Fatal编程技术网

来自tolower()c的双输出

来自tolower()c的双输出,c,tolower,C,Tolower,然而,while起作用,最后“selezione”变量变为双变量,例如,通过插入FA,变量将变为faFA,这不允许if起作用。我知道有一个错误,但我找不到它,我不是那么好,所以你可以看到在我的名字不要侮辱我:) #包括 #包括 #包括 #包括 #包括 int main(){ int i=0; 双发,ce,ke; char-selezione[2]; printf(“米苏拉的斯凯利·勒尤塔:每华氏多少度\n每摄氏多少度\n每开尔文多少度”;//米苏拉的米苏拉单位 获取(selezione); wh

然而,while起作用,最后“selezione”变量变为双变量,例如,通过插入FA,变量将变为faFA,这不允许if起作用。我知道有一个错误,但我找不到它,我不是那么好,所以你可以看到在我的名字不要侮辱我:)

#包括
#包括
#包括
#包括
#包括
int main(){
int i=0;
双发,ce,ke;
char-selezione[2];
printf(“米苏拉的斯凯利·勒尤塔:每华氏多少度\n每摄氏多少度\n每开尔文多少度”;//米苏拉的米苏拉单位
获取(selezione);
while(selezione[i]){
putchar(tolower(selezione[i]);
i++;
}
puts(selezione);
如果(strcmp(selezione,“fa”)==0){
printf(“转化炉的华氏温度插入”);
扫描频率(“%lf”、&fa);
ce=(fa-32)/1.8;//换算为华氏一度
ke=((5/9.0)*(fa-32))+273.15;
printf(“%f华氏温度范围:\n%f摄氏梯度\n%f开尔文”,fa、ce、ke);
}
else if(strcmp(selezione,“ce”)==0){
printf(“在转换过程中的价格变化:”);
扫描频率(“%lf”、&ce);
fa=(ce*(9/5.0))+32;//换算为一摄氏度
ke=ce+273.15;
printf(“%f摄氏梯度sono:\n%f华氏\n%f开尔文”,ce,fa,ke);
}
else if(strcmp(selezione,“ke”)==0){
printf(“在瓦洛尔开尔文-达康沃尔镇上的插图”);
scanf(“%lf”、&ke);
fa=((ke-273.15)*(9/5))+32;//开尔文
ce=(ke-273.15);
printf(“%f开尔文声纳:\n%f华氏\n%f华氏摄氏度”,克、法、ce);
}
否则{
printf(“克拉特非riconosciuto,riprova”);
}
}

获取(selezione)这将溢出2字符缓冲区<代码>put(selezione)为什么?
char selezione[2]没有为两个字符后的空终止符提供足够的空间。使数组变大。
char selezione[2];获取(selezione)将破坏某些内容。永远不要使用
获取
,它不再是标准C库的一部分。请阅读puts(selezione)仅用于验证变量OK ty,我将尝试
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>

int main(){
    int i=0;
    double fa,ce,ke;
    char selezione[2];

    printf("Scegli l'unita di misura da convertire:\n\n digita fa per fahrenheit\n digita ce per celsius \n digita ke per kelvin \n");      //selezione unità di misura
    gets(selezione);

    while (selezione[i]){
        putchar(tolower(selezione[i]));
        i++;
    }
    puts(selezione);

    if (strcmp(selezione,"fa")==0) {
        printf("Inserisci il valore fahrenheit da convertire: ");
        scanf("%lf",&fa);
        ce=(fa-32)/1.8;                                                                                 //conversione da fahrenheit
        ke=((5/9.0)*(fa-32))+273.15;
        printf("%f fahrenheit sono:\n%f gradi celsius\n%f kelvin",fa,ce,ke);

    }

    else if (strcmp(selezione,"ce")==0){
        printf("Inserisci il valore celsius da convertire: ");
        scanf("%lf",&ce);
        fa=(ce*(9/5.0))+32;                                                                             //conversione da celsius
        ke=ce+273.15;
        printf("%f gradi celsius sono:\n%f fahrenheit\n%f kelvin",ce,fa,ke);
    }

    else if (strcmp(selezione,"ke")==0){
        printf("Inserisci il valore kelvin da convertire: ");
        scanf("%lf",&ke);
        fa=((ke-273.15)*(9/5))+32;                                                                      //conversione da kelvin
        ce=(ke-273.15);
        printf("%f kelvin sono:\n%f fahrenheit\n%f fradi celsius",ke,fa,ce);
    }

    else {
        printf("Carattere non riconosciuto, riprova");
    }
}