?什么不对啊。。
if('a'=<array[i]&&array[i]<='z')
看看这里~
#include <stdio.h> #define N 10 void strcap(int array[],int n); void main() { int array[N]; printf("Enter a strings:"); scanf("%s",array); printf("\n%c\n",array[0]); printf("\n%d\n",array[0]); strcap(array,N); printf("\n%s\n",array); } void strcap(int array[],int n) { for(int i=0;i<n;i++) { if('a'<array[i]&&array[i]<'z') array[i]=array[i]-32; } } 输出printf("\n%d\n",array[0])时,结果不是预料的,正确的程序很简单,这个大家都会写。#include <stdio.h> #define N 10 void strcap(char array[],int n); void main() { char array[N]; printf("Enter a strings:"); scanf("%s",array); strcap(array,N); printf("\n%s\n",array); } void strcap(char array[],int n) { for(int i=0;i<n;i++) { if('a'<array[i]&&array[i]<'z') array[i]=array[i]-32; } } 不过你对字符的大小不太对