読者です 読者をやめる 読者になる 読者になる

log

日記です

文字列ポインタをやっつけた

C言語

新入社員takuan
vimでポチポチとC言語研修しています
最近は画面分割やタブの開き方を覚えたので、レベル1は上がったかな?
今日は文字列ポインタをやっつけたぜ!

どうやっつけたのか?


よくあるこんな文字列配列
このやろーを関数に渡して、文字の比較処理をやりたかった。
コメント行の検知をやりたかった。
'/'と'/'が続けてやってきたら、キタコメント!教えてくれる関数。

ぐぬぬ

つか実際ちゃんとわかっているのかな?

#include <stdio.h>
int main() {
  char a[16] = "int a=0 //init\n";
  if(!isComment(a)) printf("コメントあるっす");

  return 0;
}
//関数側
int isComment(char *a) {
    while(*a!='\0'){
        if((*a=='/')||(*(a+1)=='/')){
            return 0;
        }
        a++;
    }
    return 1;
}
//もしくは・・・
int isComment(char a[16]) {
    int i=0;
    while(a[i]!='\0'){
        if((a[i]=='/')||(a[i+1]=='/')){
            return 0;
        }
        i++;
    }
    return 1;
}

あれ、後者ができなくて悩んでいたんだけどなんでだろう…
考えれば、かなり当たり前のこと…
なぜかこれですごく悩んでました、うーん
ってか本当になんで悩んでいたんだろう(笑)そんなポインタ知らなくても後者の方法使えばできるではないか…
うみゃー(´・ω・`)