2016-06-07 93 views
-2

我一直在嘗試從字符數組中獲取字符串的一部分,並且對於我的生活,我無法獲得任何在StackOverflow上找到的示例: Compare string literal vs char array 我已經看過遍佈互聯網的解決方案,我試過混合指針,strcmp,strncmp,我能想到的所有東西。比較字符數組元素字符串文字

我不能看到如何得到這個工作:

#include <stdio.h> 

int main(void) { 
const char S[] = "0.9"; 
if (S[1] == ".") { 
    puts("got it"); 
} 
return 0; 
} 

我意識到張貼這可能會毀了我的名譽......但我無法找到解決辦法....類似文章沒有工作。

在此先感謝您的幫助:/

編輯:我不知道正確的搜索字詞使用的;這就是爲什麼我沒有找到指定的原件。

+3

你是一個'char'值進行比較,以一個'char'指針的元素。將''。「'改爲''。''。 –

回答

4

"."是一個字符串文字。你想要的應該是一個字符常量'.'

試試這個:

#include <stdio.h> 
#include <string.h> 

int main(void) { 
const char S[] = "0.9"; 
if (S[1] == '.') { 
    puts("got it"); 
} 
return 0; 
} 

替代(但看起來更糟)的方式:訪問字符串字面

#include <stdio.h> 
#include <string.h> 

int main(void) { 
const char S[] = "0.9"; 
if (S[1] == "."[0]) { 
    puts("got it"); 
} 
return 0; 
} 
+0

謝謝MikeCAT,我今天學到了一些關於C的新東西,我從來沒有聽說過這個,一個很好的解釋在這裏:http://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c – con

+0

寫「*」有效嗎? ?? –

+0

@ machine_1是的。 – MikeCAT