ポインタ を学習中です。
文字列のポインタを受け取り、その文字列を空文字列(' ')に変更させる関数を作りたいです。
例:abcdef → 6文字の空白+'\0'
現在書いてるコードは以下になります。
c
1#include <stdio.h> 2void strnul(char *str){ 3 while(*str != '\0'){ 4 str = ' '; 5 str++; 6 } 7 printf("after:%s\n",str); 8} 9 10int main(){ 11 char str1[10]={"abc def"},*str2; 12 str2 = str1; 13 printf("before:%s\n",str2); 14 strnul(str2); 15 return 0; 16}
これを実行すると、
warning: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion] str = ' ';
というワーニングが出てしまいます。
関数strnul内のwhile文が違うと思うのですが、ポインタに直接空白を代入できないのでしょうか?
恐れ入れますが、ご教授お願いします。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。