2016-03-26 15 views
-5
char* str1 = "5.5"; 
char* str2 = "4.4"; 
char* str3 = str1 + str2; 

Yanıtı 9.9 (5.5 + 4.4) düzgün olarak vermek için üçüncü kod satırını nasıl değiştirebilirim?
Kimin char türünü kullanarak sayıları değiştirmeye çalışacağını bile bilmiyorum ama öğretmenim bunu bu şekilde istiyor. yorumun devamBu bir C kodunda, bir char değişken türü kullanarak sayılarla çalışmamı gerektiren sorun nedir?

+0

Hayır. Sadece hayır. Başka bir kullanışlı bilgisayar dili veya PHP kullanın. –

+0

'char * str =" tırnak içinde ne varsa ";' salt okunur bellekte bir ** string literal ** oluşturur. Bu durumda asla bir şey eklemeyecek veya çıkaramayacaksınız. Dahası, “integer”, “floats” vb. ** string gösterimlerini ** eklemez ya da çıkarmazsınız, “int”, “float” vb. "Strtof" veya "strtod" a bakın. –

+1

Öğretmenin gerçek sorusu neydi? –

cevap

3

, sen böyle bir şey yapmak gerekir: sırt bir dizeye

$ ./bin/strtofex 
5.5 + 4.4 = 9.9 

sonra yolları result Orada gizli için olan

#include <stdio.h> 
#include <stdlib.h> 

int main (void) { 

    char *str1 = "5.5"; 
    char *str2 = "4.4"; 
    float result = strtof (str1, NULL) + strtof (str2, NULL); 

    printf (" %s + %s = %.1f\n", str1, str2, result); 

    return 0; 
} 

Çıktı (örn sprintf) ise İhtiyacınız olan şey bu ..

İlgili konular